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
本文详细介绍了TCP连接过程中服务器端与客户端的操作步骤,包括bind、connect、listen、accept等函数的作用及调用时机,并解释了三次握手的具体过程。

5013

被折叠的 条评论
为什么被折叠?



