:explode::one:服务器先处于LISTEN状态 :two:客户端发出了SYN,客户端处于SYN_SENT状态 :three:服务器接收到了SYN,发送SYN+ACK,此时服务器处于SYN_RECV状态 :four:客户端接收到服务器的SYN+ACK后,客户端变成ESTABLISHED状态,并且发送第三次握手ACK, 收到ACK的服务器变成ESTABLISHED状态 :five:客户端关闭了socket,发送FIN给服务器,客户端处于FIN_WAIT1状态 :six:服务器收到FIN,回复ACK给客户端,服务器处于CLOSE_WAIT状态 :seven:服务器关闭socket,服务器发送FIN给客户端,服务器处于LASK_ACK状态 :eight:客户端收到第一个ACK时,变成FIN_WAIT2状态 :nine:客户端收到服务器的FIN后,变成TIME_WAIT,并第四次挥手 :ten:服务器收到客户端的ACK后,变成CLOSED状态,过一段时间后,客户端也会变成CLOSED状态