【问题标题】:Port reuse on Windows mobile device wakeuypWindows 移动设备上的端口重用
【发布时间】:2013-10-22 17:16:39
【问题描述】:

我有一个在 Windows Mobile 设备上运行的应用程序,它通过套接字连接到 Telnet 服务器。虽然设备“活着”,但一切都很好。如果设备“睡眠”,在唤醒时它会打开一个新端口,这会混淆服务器并且我的应用程序会断开连接。打开的新端口不是我的应用程序的一部分 - 这是标准行为吗?我怎样才能阻止它发生?

欢迎提出建议 - 谢谢 :-)

【问题讨论】:

  • 您必须监听SLEEP 消息,并在收到该消息时关闭端口。

标签: sockets networking tcp windows-mobile


【解决方案1】:

在挂起/恢复之前和之后使用套接字取决于设备的电源管理设置和设置。 如果它在挂起期间关闭了网络(WLAN 或 WWAN),您必须关闭套接字并打开一个新连接。 您可以使用 MS 电源通知消息队列查看电源通知。设备恢复后,应用程序将首先收到“设备已暂停”消息! 同样,恢复后关闭和打开连接,串行通信也是如此,我可以为电源消息队列提供一个 C++ 示例:http://code.google.com/p/win-mobile-code/source/browse/trunk/KeyWedge/KeyWedge/PowerMsgQueue.cpp 可能您可能希望禁用设备的自动和手动挂起,并提供从您的应用程序中挂起设备的选项。然后就可以优雅地关闭通讯通道了。 在服务器端,您必须将套接字设置为在一段时间不活动后关闭。否则,您可能会用完沟通渠道。 在客户端,您应该只在需要传输数据时打开和关闭通信通道。

以上是一般性建议。如果您提供一些代码 sn-ps,我们可能会提供更多帮助。

【讨论】:

    猜你喜欢
    • 2010-12-29
    • 2018-12-26
    • 1970-01-01
    • 2015-05-22
    • 1970-01-01
    • 1970-01-01
    • 2011-06-27
    • 2014-02-12
    • 2010-11-20
    相关资源
    最近更新 更多