
客户端在调用connect之后,将开始发起SYN请求,请求与服务器建立连接,此时称为第一次握手。
服务器端在接受到SYN请求之后,把请求方放入SYN队列中,并给客户端回复一个确认帧ACK,此帧还会携带一个请求与客户端建立连接的请求标志,也就是SYN,这称为第二次握手
客户端收到SYN+ACK帧后,connect返回。
发送确认建立连接帧ACK给服务器端。这称为第三次握手
服务器端收到ACK帧后,会把请求方从SYN队列中移出,放至ACCEPT队列中,而accept函数也等到了自己的资源,从阻塞中唤醒,从ACCEPT队列中取出请求方,重新建立一个新的sockfd,并返回。
文章来源: https://blog.csdn.net/RaKiRaKiRa/article/details/96849926