“连接被对方重置”是什么意思?

问题描述 投票:0回答:2

TCP 连接上的“连接被对等方重置”错误是什么意思?这是致命错误还是只是通知或与网络故障有关?

sockets tcp socketexception
2个回答
1104
投票

这是致命的。远程服务器已向您发送了 RST 数据包,这表明连接立即断开,而不是通常的握手。这绕过了正常的半封闭状态转换。我喜欢这个描述

“对等方重置连接”在 TCP/IP 中相当于将电话挂回挂机状态。这比仅仅不回复、留下一个悬而未决要礼貌得多。但这并不是真正有礼貌的 TCP/IP 对话者所期望的 FIN-ACK。


280
投票

这意味着已收到 TCP RST 并且连接现已关闭。 当数据包从连接的一端发送但另一端无法识别该连接时,就会发生这种情况;它会发回一个设置了 RST 位的数据包,以强制关闭连接。

如果另一方崩溃然后恢复,或者在传输过程中有来自您的数据时它在套接字上调用

close()
,则可能会发生这种情况,并且向您表明您之前发送的某些数据可能不会已收到。

这是否是一个错误取决于你;如果您发送的信息只是为了远程客户端的利益,那么任何最终数据的丢失可能并不重要。 但是,您应该关闭套接字并释放与连接关联的任何其他资源。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.