转自:微点阅读 https://www.weidianyuedu.com
在可靠的TCP网络通信中,客户端和服务器端通信建立连接的过程可简单表述为三次握手(建立连接的阶段)和四次挥手(释放连接阶段),下图是这两个阶段的一个完整的表述:
其状态图可以表示为,
在TCP连接建立的时候,存在一个如下的有限状态机:
在状态转化图中,其中客户端的状态转移用带箭头的粗实线表示,服务器端的状态转换用带箭头的粗虚线表示。带箭头的细线表示一些不常见的事件,如复位、同时打开、同时关闭等。如果要深入理解TCP连接建立和释放的过程就需要结合socket编程里的connect(),socket(),bind(),listen(),send(),close()等函数。
从图中看到,三次握手对应的Berkeley Socket API:connect, listen, accept 3个