【问题标题】:Polling TCP/IP in UWP background在 UWP 后台轮询 TCP/IP
【发布时间】:2017-07-21 06:29:50
【问题描述】:

我需要通过 Windows 10 通用应用程序与一些通过 TCP/IP 连接的外围设备进行通信。具体来说,这些是 MODBUS 设备,我需要不断地轮询设备(每秒多次)以读取状态值并相应地对它们采取行动。应用程序将有多个表单,每个表单都能够根据从外围设备读取的值接收数据。

我当前的(Win32)实现运行几个后台线程,它们只是发送读取命令、读取结果,然后根据需要通过引发各种表单可以订阅的事件来处理结果,我相信这就是方法我也应该在 UWP 中学习。

在使用 UWP 时有没有更好的方法?如果将应用程序移到后台和/或我可以防止暂停,这是否可行?

谢谢。

【问题讨论】:

    标签: uwp network-programming windows-10-universal tcpclient


    【解决方案1】:

    对于需要轮询这些设备的应用来说,您提议的实现听起来是最好的方法。执行 UI 线程的轮询并为您的页面编组事件以从中收集处理过的数据。

    在最小化时运行:如果您只需要在前台应用程序运行时收集此信息,那么扩展执行可能是您的选择。当您最小化应用程序时,它会自动进入暂停状态,除非您请求某种形式的生命周期延长。您可以请求Unspecified Extended Execution,它在电池供电时有限制,可以根据用户设置删除。这将使应用程序在最小化时运行,但在关闭时不运行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-17
      • 2016-12-19
      • 2014-01-22
      • 2012-05-21
      • 2012-03-29
      • 1970-01-01
      • 2023-03-17
      • 1970-01-01
      相关资源
      最近更新 更多