关于第四次挥手的问题

来源:4-3 TCP连接可靠性-三次握手、四次挥手

Prozombie0

2018-11-17

第四次挥手需要由客户端发送消息到服务端,但是客户端向服务端发送消息的能力已经在第一次挥手的结束后失去,不清楚第四次挥手怎么做到的

写回答

1回答

Qiujuer

2018-11-18

这里可能没有说清楚。

A向B说我要关闭了,此时A可以明确A不需要输出了,此时对于B来说也就不会再接收到消息。

B回送说,哦,我收到了。此时A到B的数据通道已被关闭。

B给A发送说,我要关闭了

A收到了信息,然后A回送说我已收到,此时AB完全断开。

上面存在一个悖论:

第1、2之后,第4步如何还存在。
其实这里是因为1、2虽然A到B已关闭,但是关闭的是数据层与业务层的通道,但是底层传输层并未失去。

此时在业务层使用A发送信息的时候将触发异常。
但,B发送消息给A后的基本数据状态回送并未失去。所以第4步不矛盾。

3
1
Prozombie0
原来如此,谢谢老师的耐心解答
2018-11-18
共1条回复

Socket网络编程进阶与实战 系统掌握Socket核心技术

理论+实践,系统且深入掌握Socket核心技术,从容应对各种Socket应用场景的不二之选

2314 学习 · 476 问题

查看课程