TCP链接的三次握手四次挥手。

三次握手。

client向server发出请求,第一次握手

server回复client,表示收到,并且准备好自己的工作,第二次握手。

client向server发送表示自己可以了。第三次握手。

 

四次挥手

其实跟三次握手是一样的。

client向server发出挥手请求。第一次挥手

server回复收到第二次挥手

这时候。server可能还有东西没有发完,继续发。

当server全部东西发送完成后,向client发送自己已经ok,可以断开。第三次挥手。

client收到后,发出最后一个信息。等待2倍接受时间,断开连接。第四次挥手。

 

等待2倍接受时间是因为,假设client发出最后一次挥手,但是server没有收到,那么在server看来。他第三次挥手发出去了,但是client没有回复,那么就需要再来一个第三次挥手。

如果2倍接受时间都没有收到消息,表示server是收到了client的第四次挥手了,可以断开。

不过这里有个坑。如果第四次挥手对方没收到。补发的第三次挥手也没发成功。client关闭了。server就一直发第三次挥手?(舔狗)