【发布时间】:2010-06-10 14:17:19
【问题描述】:
我正在使用 c/c++ 在 unix 中学习套接字编程。 我对一个函数调用 bind(params..) 感到困惑。 实际上它需要地址结构“sockaddr_in”,我们可以通过以下方式创建结构
sockaddr_in.*** = somthing..
sockaddr_in..s_addr htonl(INADDR_ANY)
**Passing INADDR_ANY will alow to bind all local addresses**
我的问题是,为什么我们需要使用 "INADDR_ANY" ? 据我所知,每台机器只能有一个唯一的 IP 地址。这样,只有一个地址与机器相关联。你的绑定调用应该直接将套接字绑定到单个可用地址。
请解释一下有哪些不同的场景以及为什么会这样?
【问题讨论】: