send it failed() The virtual circuit was reset by the remote side executing a hard or abortive close. (连接被对方重置)

发布时间 2023-06-13 14:39:50作者: 周星星7290

串口调试助手报错提示

The virtual circuit was reset by the remote side executing a hard or abortive close. for upd socket ,the remote host was unable to deliver a previously sent UDP dategram and responded with a port unreachable ICMP packet the application should close the socket as it is no longer usable (连接被对方重置)

这段信息表明在使用UDP套接字进行通信时,远程主机执行了强制或中止关闭操作,导致虚拟电路被重置。同时,远程主机无法传递先前发送的UDP数据报,并用一个端口不可达的ICMP数据包进行了响应。因此,应用程序应该关闭该套接字,因为它已不再可用。

这种情况可能发生在以下情况下:
远程主机或网络出现故障:远程主机或网络可能发生故障或出现问题,导致无法传递UDP数据报或对UDP请求作出正确响应。这可能是由于网络拥塞、路由问题、防火墙配置等原因引起的。
远程应用程序关闭:远程应用程序可能已经关闭或终止,因此无法继续处理UDP请求。在这种情况下,远程主机将发送一个端口不可达的ICMP数据包作为响应。
根据这段信息,建议应用程序在接收到连接被重置的通知后关闭该UDP套接字。这样可以释放资源,并允许应用程序采取适当的措施来处理这种情况,例如重新建立连接或通知用户。

 

WSAECONNRESET

 

 

WSAE连接复位   10054

连接被对端重置。

现有连接被远程主机强行关闭。如果远程主机上的对等应用程序突然停止、主机重新启动、主机或远程网络接口被禁用或远程主机使用硬关闭(有关远程主机上 SO_LINGER 选项的更多信息,请参阅 setsockopt)通常会导致这种情况插座)。如果在一个或多个操作正在进行时由于保持活动检测到故障而导致连接中断,也可能会导致此错误。正在进行的操作因 WSAENETRESET 而失败。随后的操作因 WSAECONNRESET 而失败。

 参考网址:https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-send