TCP 连接上的“连接被对等方重置”错误是什么意思?这是致命错误还是只是通知或与网络故障有关?
这是致命的。远程服务器已向您发送了 RST 数据包,这表明连接立即断开,而不是通常的握手。这绕过了正常的半封闭状态转换。我喜欢这个描述:
“对等方重置连接”在 TCP/IP 中相当于将电话挂回挂机状态。这比仅仅不回复、留下一个悬而未决要礼貌得多。但这并不是真正有礼貌的 TCP/IP 对话者所期望的 FIN-ACK。
这意味着已收到 TCP RST 并且连接现已关闭。 当数据包从连接的一端发送但另一端无法识别该连接时,就会发生这种情况;它会发回一个设置了 RST 位的数据包,以强制关闭连接。
如果另一方崩溃然后恢复,或者在传输过程中有来自您的数据时它在套接字上调用
close()
,则可能会发生这种情况,并且向您表明您之前发送的某些数据可能不会已收到。
这是否是一个错误取决于你;如果您发送的信息只是为了远程客户端的利益,那么任何最终数据的丢失可能并不重要。 但是,您应该关闭套接字并释放与连接关联的任何其他资源。