多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
![](https://img.kancloud.cn/03/d8/03d83583b77ee8bbbefadee34d71f746_778x438.png) ![](https://img.kancloud.cn/d7/23/d72350318adbfb3694510f8e2877c6b1_1057x780.png) #### 1.为什么握手需要三次,而挥手却需要四次? 握手的时候,A和B打个招呼,B可以直接把自己的SYN信息和对A的回应ACK信息一起带上,但是挥手的时候,A说我要断开了,B还没发完最后的数据,因此需要先回应一下A,我收到你的断开的请求了,但是你要等我把最后的内容给你,所以这里分开了2步: (1)回应A; (2)发送自己的最后一个数据 #### 2.为什么A进入TIME\_WAIT需要等待最大报文段生存的时间后,才能关闭? 原因是,担心网络不可靠而导致的丢包,最后一个回应B的ACK万一丢了怎么办,在这个时间内,A是可以重新发包的,但是超过了最大等待时间的话,就算收不到也没用了,所以就可以关闭了。 ## 参考 * [ 谈谈你对TCP三次握手和四次挥手的理解](https://www.muyiy.cn/question/network/16.html) * [ 作为前端的你了解多少tcp的内容](https://juejin.im/post/5c078058f265da611c26c235) * [# 网络分层TCP/IP 与HTTP](https://juejin.im/post/5a98e1f7f265da237410694e)