我在Windows Mobile设备上运行的应用程序通过套接字连接到Telnet服务器。虽然设备“活着”但一切都很好。如果设备“休眠”,则在唤醒时会打开一个新端口,这会混淆服务器并且我的应用程序会断开连接。新的端口打开不是我的应用程序的一部分 - 它是标准行为吗?我怎么能阻止它发生呢?
建议欢迎 - 谢谢: - )
答案 0 :(得分:0)
在挂起/恢复之前和之后使用套接字取决于电源管理设置和设备的设置。 如果在挂起期间关闭网络(WLAN或WWAN),则必须关闭套接字并打开新连接。 您可以使用MS电源通知消息队列查看电源通知。设备恢复后,应用程序将首先收到“设备已暂停”消息! 同样,恢复后关闭和打开连接对于串行通信也是如此,我可以为电源消息队列提供C ++示例:http://code.google.com/p/win-mobile-code/source/browse/trunk/KeyWedge/KeyWedge/PowerMsgQueue.cpp 您可能希望禁用设备的自动和手动暂停,并提供从应用程序暂停设备的选项。然后,您可以优雅地关闭通信通道。 在服务器端,您将不得不设置套接字在一段时间不活动后关闭。否则,您可能会耗尽通信渠道。 在客户端,只要您需要传输数据,就应该打开和关闭通讯通道。
以上是一般性建议。如果您提供一些代码段,我们可能会提供更多帮助。