【发布时间】:2020-05-12 12:22:06
【问题描述】:
我正在使用以下用例实现文件传输协议:
- 服务器在几个帧内逐块发送文件。
- 客户端可能会取消传输:为此,它会发送一条消息并在 TCP 级别断开连接。
在这种情况下,在服务器端(在 Windows 上运行的 Python)发生的情况是,我在向客户端发送数据时捕获了 ConnectionResetException(这是正常的,客户端已断开套接字)。我想读取客户端发送的最新数据(用于中止调用的消息),但调用 mysocket.recv() 仍然会引发 ConnectionResetException。
通过wireshark 捕获,我可以清楚地看到消息在TCP 断开之前由客户端正确发送。
有什么想法吗?谢谢!
虚拟现实
【问题讨论】:
-
RST 后没有剩余数据。全部丢弃。