我的WinCE设备(C#,CF 3.5)通过socket与SERVER通信。
当它工作超过12小时后,它会断开连接并发生Exception
A socket operation encountered a dead network
。
我读过的内容可能是公共IP的变化。但是在我的代码中,我重新连接到新的IP,所以我不知道为什么抛出这个异常。
答案 0 :(得分:0)
服务器应具有静态 IP地址。如果它具有动态 IP地址,则只要为您的服务器分配了新的IP地址,就可能遇到此问题。
如果是这种情况,那么你可以/应该编写你的应用程序以捕获这种特定类型的异常(SocketException
,也许?),处理该异常(可能是一个MessageBox让用户知道发生了什么),并使用新的服务器ID地址重新输入例程。
您可能需要重新初始化套接字连接。
答案 1 :(得分:0)
如果您使用的是移动设备,我会说这是设备的IP地址发生变化。
甚至更多:网络提供商可能每12小时关闭并重新启动连接设备的整个网络。
如果收到WSAENETDOWN
,您应该重新启动应用程序的整个IP客户端部分。