TCP 的状态变化图

标准的数据包流程:

Client: 发送 SYN,连接状态进入 SYN_SENTServer: 收到 SYN, 创建连接状态为 SYN_RCVD/SYN_RECV 的 Socket,响应 SYN/ACKClient: 收到 SYN/ACK,连接状态从 SYN_SENT 变为 ESTABLISHED,响应 ACKServer: 收到 ACK,连接状态变为 ESTABLISHED

其实还有很多状态,以下一个图描述完成