1

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

当它工作超过 12 小时时,它会断开连接并发生这种Exception情况:A socket operation encountered a dead network.

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

4

2 回答 2

0

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

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

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

于 2012-11-23T13:49:22.650 回答
0

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

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

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

于 2012-11-23T18:56:09.413 回答