套接字操作遇到死网络



我的WinCE设备(C#,CF 3.5)通过套接字与SERVER通信。

当它工作超过 12 小时时,它会断开连接,并且会发生以下ExceptionA socket operation encountered a dead network .

对于我所读到的内容,可能是公共IP的变化。但是在我的代码中,我重新连接到新IP,所以我不知道为什么会抛出此异常。

如果您在移动设备上,我会说是设备的 IP 地址发生了变化。

甚至更多:网络提供商可能会每 12 小时关闭并重新启动连接设备的整个网络。

如果收到WSAENETDOWN则应重新启动应用程序的整个IP客户端部分。

服务器应具有静态 IP 地址。如果它具有动态 IP 地址,则每当将新的 IP 地址分配给服务器时,都可能遇到此问题。

如果是这种情况,那么您可以/应该编写应用程序来捕获此特定类型的异常(也许是SocketException?),处理该异常(也许是让用户知道发生了什么的 MessageBox),并让您的代码使用新的服务器 ID 地址重新输入例程。

您可能需要重新初始化套接字连接。

相关内容

最新更新