2017-07-20 16 views
1

TCP/IP経由で接続されたいくつかの周辺デバイスでWindows 10ユニバーサルアプリケーションから通信する必要があります。具体的には、これらはMODBUSデバイスであり、ステータス値を読み込み、それに応じて動作させるために、デバイスを常にポーリングする必要があります(毎秒複数回)。アプリケーションは複数のフォームを持ち、これらのフォームのそれぞれは、周辺機器から読み取った値に基づいてデータを受け取ることができます。UWPバックグラウンドでのTCP/IPのポーリング

現在の(Win32)実装では、readコマンドを送信し、結果を読み取り、さまざまなフォームが登録できるイベントを発生させることによって必要な結果を処理するバックグラウンドスレッドを実行します。私もUWPの中で取るべきであるアプローチ。

UWPを使用すると良い方法がありますか?アプリケーションがバックグラウンドに移行した場合や、中断を防ぐことができますか?

ありがとうございました。

答えて

2

提案された実装は、これらのデバイスをポーリングする必要があるアプリケーションにとって最適なアプローチのように聞こえます。 UIスレッドをポーリングし、ページのイベントを整列して処理されたデータを収集します。

最小化された状態で実行する場合:フォアグラウンドアプリケーションの実行中にこの情報を収集する必要がある場合は、拡張実行を選択することができます。アプリを最小化すると、生涯延長の何らかの形を要求しない限り、自動的に一時停止状態に移行します。 Unspecified Extended Executionを要求することができます。これには、バッテリの電力が制限されている場合には、ユーザーの設定に基づいて削除できるよりも制限があります。これにより、アプリが最小化されたときに実行されるようになりますが、終了時には実行されません。

関連する問題