套接字操作遇到死网络

时间:2012-11-22 12:15:39

标签: c# sockets exception compact-framework

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

当它工作超过12小时后,它会断开连接并发生Exception A socket operation encountered a dead network

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

2 个答案:

答案 0 :(得分:0)

服务器应具有静态 IP地址。如果它具有动态 IP地址,则只要为您的服务器分配了新的IP地址,就可能遇到此问题。

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

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

答案 1 :(得分:0)

如果您使用的是移动设备,我会说这是设备的IP地址发生变化。

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

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