关于bind函数和connect函数的测试结论
1. 一般客户端不用绑定,系统给你自动分配(有些ip不是固定的,bind也不是一个好方法);而服务器需要绑定,因为需要给客户端一个众所周知的固定的地址;
2. 关于bind错误,可以用WSAGetLastError函数结合查错工具来找到错误;
3.对于多网卡,如果没有bind,系统自动分配,会给你分配哪个ip呢? 自然可以抓包查看源ip,这里也可以使用函数--getsockname,来查看与套接字描述符绑定的ip。 通过测试(改变目的ip,来查看使用的源ip),初步得出结论,选择哪一张网卡,系统是根据路由表来决定的。
4. 如果bind帮顶了一个错误的ip(或者主机上不存在这个ip),惊异地发现,仍然可以收到对端的回应。 这是因为connect会再次自动分配一个正确的ip。