デバイスがネットワークからデータを読み取るときにフリーズする単純な Windows Mobile 5 アプリケーションがあります。根本的な原因は、ネットワークがパケットを繰り返しドロップし、アプリケーションが読み取り呼び出しをブロックしていることです。
アプリケーション内から、または割り込み (キープレスの組み合わせ) を介して OS レベルで、このアプリケーションを終了したいと考えています。このメカニズムを組み込む簡単な方法があるかどうかを教えてください。
デバイスがネットワークからデータを読み取るときにフリーズする単純な Windows Mobile 5 アプリケーションがあります。根本的な原因は、ネットワークがパケットを繰り返しドロップし、アプリケーションが読み取り呼び出しをブロックしていることです。
アプリケーション内から、または割り込み (キープレスの組み合わせ) を介して OS レベルで、このアプリケーションを終了したいと考えています。このメカニズムを組み込む簡単な方法があるかどうかを教えてください。
残念ながら、ソケットコードを投稿しませんでした。非同期呼び出しを使用していない限り、ソケットアクセスはブロックされます。メインスレッドを実行し続けるには、ソケット呼び出しを別のスレッドに配置する必要があります。
ここでいくつかの背景を提供できます:http ://www.hjgode.de/wp/2010/06/01/mobile-development-easy-to-use-background-thread-with-gui-update/ここで、単純なpingはバックグラウンドで行われます。IcmpSendEchoの呼び出しはブロックされますが、別のスレッドで実行されるため、「ping」が返されると、GUIは引き続き使用可能であり、イベントが発生します。
〜josef