一、建立TCP需要三次握手才能建立,而断开连接则需要四次挥手,整个过程如下图所示:
二、状态详解
CLOSED:表示初始状态;
LISTEN:表示服务器端的某个SOCKET 处于监听状态,可以接受连接了;
SYN_RCVD:表示接受到了SYN报文,在正常情况下,这个状态是服务器端的SOCKET在建立TCP连接时的三次握手会话过程中的一个中间状态,很短暂,基本上用netstat你是很难看到这种状态的,除非你特意写了一个客户端测试程序,故意将三次TCP握手过程中最后一个ACK报文不予发送。当收到客户端的ACK报文后,它会进入到ESTABLISHED状态。
SYN_SEND:这个状态与SYN_RCVD遥相呼应,当客户端SOCKET执行CONNECT连接时,它首先发送SYN报文,因此也随即它会进入到SYN_SEN