tcp断开连接需要四次挥手 可以是三次吗?
http://blog.csdn.net/xifeijia...
TCP断开连接为什么需要4次握手?3次不行吗?
有没有这样一种情况:断开连接时,Client和Server都没有数据要发送给彼此了,这时Client发送FIN报文段给Server,Server接收之后直接响应FIN+ACK报文段,之后Client再发送ACK报文段。也就是说,没有第2次握手,没有FIN-WAIT-2和CLOSE-WAIT状态。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
![扫码二维码加入Web技术交流群](/public/img/jiaqun_03.jpg)
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
试想有一种情况,当Client发送了FIN报文给Server,而Server这时候还想传递一些信息给客户端,如果没有第二次握手,Server这时候直接发送剩下的数据,那客户端怎么知道Server是否收到了自己发送的关闭请求呢?
如果Client知道Server接收到了自己发送的关闭报文,那Client可以大胆的接收Server发送的剩余数据,因为它知道Server不会消耗太多的时间在剩余数据上。如果Client不知道Server有没有真正收到的关闭报文,那它自己难免会忐忑,自己在接收Server传递的剩余数据的同时,要不要再次发送新的关闭报文呢?亦或者一直等待Server端的ACK,那万一Server端没有收到FIN,也不会发送ACK,那是强制关闭还是一直等待呢?