1.服务器端在listen之前会调用bind(),而客户端就不会调用,而是在connect()时由系统随机生成一个。
2.网络字节序------大端模式(Big-Endian)
3.socket()函数创建的socket默认是一个主动类型的,listen函数将socket变为被动类型的,等待客户的连接请求。-----等待被连接
4.TCP服务器监听到这个请求之后,就会调用accept()函数取接收请求。
accept的第一个参数为服务器的socket描述字,是服务器开始调用socket()函数生成的,称为监听socket描述字;而accept函数返回的是已连接的socket描述字。
5.close操作只是使相应socket描述字的引用计数-1,只有当引用计数为0的时候,才会触发TCP客户端向服务器发送终止连接请求
6.客户端的connect在三次握手的第二个次返回,而服务器端的accept在三次握手的第三次返回。
7.这样每个方向上都有一个FIN和ACK。
reference : http://www.cnblogs.com/skynet/archive/2010/12/12/1903949.html