RT:socket中bind函数绑定的IP是什么,是不是想与那个主机通信就绑定该主机的IP地址?求解答!或者绑定的是自己本机的IP? 到底是那样?纠结死!
3 回答
GCT1015
TA贡献1827条经验 获得超4个赞
INADDR_ANY 实际上的值是0; 这个表示 内核会根据进程运行,自己选举一个临时的ip 地址。
和你指定一个ip地址是相同的。只不过,使用INADDR_ANY,这个ip地址是内核自己选举出来的。
蝴蝶刀刀
TA贡献1801条经验 获得超8个赞
bind是服务端调用的函数,绑定的是服务端的IP,假设服务端有多个网卡,即会有多个IP,这个时候我们可以选择用bind绑定其中一个IP,那么服务端只接收该IP上某端口的数据。
如果bind绑定的是INADDR_ANY,即表示所有发送到服务器的这个端口,不管是哪个网卡/哪个IP地址接收到的数据,都由这个服务端进程进行处理。
哆啦的时光机
TA贡献1779条经验 获得超6个赞
所谓bind,就是指绑定本地接受端口。
指定ip,是为了分辨多ip主机。
bind是服务端调用的函数,绑定的是服务端的IP,假设服务端有多个网卡,即会有多个IP,这个时候我们可以选择用bind绑定其中一个IP,那么服务端只接收该IP上某端口的数据。
如果bind绑定的是INADDR_ANY,即表示所有发送到服务器的这个端口,不管是哪个网卡/哪个IP地址接收到的数据,都由这个服务端进程进行处理。
- 3 回答
- 0 关注
- 375 浏览
添加回答
举报
0/150
提交
取消