猿问

您好,请问在socket中bind函数绑定的IP是什么呢?求解释!

RT:socket中bind函数绑定的IP是什么,是不是想与那个主机通信就绑定该主机的IP地址?求解答!
或者绑定的是自己本机的IP? 到底是那样?纠结死!

达令说
浏览 385回答 3
3回答

GCT1015

INADDR_ANY 实际上的值是0; 这个表示 内核会根据进程运行,自己选举一个临时的ip 地址。和你指定一个ip地址是相同的。只不过,使用INADDR_ANY,这个ip地址是内核自己选举出来的。

蝴蝶刀刀

bind是服务端调用的函数,绑定的是服务端的IP,假设服务端有多个网卡,即会有多个IP,这个时候我们可以选择用bind绑定其中一个IP,那么服务端只接收该IP上某端口的数据。如果bind绑定的是INADDR_ANY,即表示所有发送到服务器的这个端口,不管是哪个网卡/哪个IP地址接收到的数据,都由这个服务端进程进行处理。

哆啦的时光机

所谓bind,就是指绑定本地接受端口。指定ip,是为了分辨多ip主机。bind是服务端调用的函数,绑定的是服务端的IP,假设服务端有多个网卡,即会有多个IP,这个时候我们可以选择用bind绑定其中一个IP,那么服务端只接收该IP上某端口的数据。如果bind绑定的是INADDR_ANY,即表示所有发送到服务器的这个端口,不管是哪个网卡/哪个IP地址接收到的数据,都由这个服务端进程进行处理。
随时随地看视频慕课网APP
我要回答