bind函数
#include <sys/socket.h> /*返回:若成功则为0,若出错则为-1*/ int bind(int sockfd, const struct sockaddr *myaddr, socklen_t addrlen);
sockfd是由socket函数返回的socket描述符;
第二个参数是一个指向特定于协议的地址结构的指针;
第三个参数是该地址结构的长度;
服务器在启动时捆绑他们的众所周知端口;
让内核来选择临时端口对于TCP客户来说是正常的;
对于TCP服务器来说却极为罕见,因为服务器是通过它们的众所周知端口被大家认识的(例外是远程过程调用服务器)。
TCP客户通常不把IP地址捆绑到它的socket上,当连接socket时,内核将根据所用外出网络接口来选择源IP地址;
如果TCP服务器没有把IP地址捆绑到它的socket上,内核就把客户发送的SYN的目的IP地址作为服务器的源IP地址。