ip 的意义
对于Client端来说,如果我们绑定了IP表明,这个IP是它的源IP。对于Server端来讲,绑定了IP表明 Server只能接受这个IP上的连接(也就是固定网卡接口了)。 举个列子如果server 绑定的是127.0.0.1 的话,它代表只能接本机的数据包不接受外面发生的数据包,也就是Server绑定127.0.0.1以后,外面client无法连接本地服务器。
0 的含义
0给ipv4赋值的时候表示 INADDR_ANY ,这也就是表示让内核帮我们选择一个ip。内核选择IP地址的时机是当有一个连接Connect(TCP)也就是三次握手完毕后或者当一个UDP数据报被发出去, 此时内核才会为该socket绑定地址。
选择IP地址的方式对于Tcp来说,如果是一个Server(listen态socket),内核是这样的,根据Client端发来的 SYN段中的目的端地址作为 源IP。如果是一个Client,内核会根据要连接的server的路由情况,从各个网卡中选择一个合适的IP地址。