0

さまざまなPDAを使用するWindowsMo​​bile5.0、6.1、6.5用のソフトウェアを開発しています。しかし、WI-FIが適切にウェイクアップするのを待つための強力な方法をまだ見つけていません。時々、WI-FIデバイスがハングし、PDAを再起動する必要がありますが、これは明らかにあなたが望むものではありません。通常、十分な忍耐力があり、PDAが適切に起動してネットワークにアクセスするのを待つ場合、ハングすることはありません。

Wi-Fiを使用する前に、Wi-Fiが利用可能かどうかを確認する適切な方法はありますか?できれば、さまざまなメーカー(Intermec、Symbol、Datalogic、Opticon)で機能する一般的な方法です。

今日私たちが行っている方法は、多かれ少なかれDNS.GetHostName()によって自分の名前を解決しようとし、127.0.0.1が応答するまで待機することです。

どんな提案でも大歓迎です。ブロッキングまたは非同期呼び出しはどちらも歓迎します。

4

3 に答える 3

1

SYMBOLベースのデバイスを使用している場合は、Symbol.WirelessLANまたはSymbol.Fusion dllを使用し て、Wi-Fiが起動しているかどうかを確認できます。これらのdllは、wifiの信号強度を提供します。Wi-Fiが接続されていない場合は、なしまたは0%を表示します。

于 2012-12-03T05:30:08.590 に答える
0

すべてのOEMが異なるカスタムWiFiドライバーまたはセキュリティサプリカント(M​​Sセキュリティの代わりにOdysseyなど)を使用し、すべてがZeroConfigを使用するわけではないため、一般的なアプローチが必要です。

1つのオプションは、ネットワークのシステム状態通知を使用することです。しかし、過去に私はこれらが信頼できないことに気づきました。接続マネージャー(CM)を使用した場合も同様です。CMは、誰もいない場合に接続が機能していることを報告することがあります。キャッシングなどで何かをしなければなりません。

pingを使用して、接続が機能していることを確認できます。pingは、スタックが使用可能であり、ホストが到達可能であることを確認します。たとえば、WiFiアクセスポイントの関連付けやローカルIPアドレスを確認するなど、他のオプションは、必要なホストに到達できることを実際には意味しません。

私のWebサイトには、ブロッキング関数の例としてpingを実装する使いやすいバックグラウンドワーカークラスがあります。http ://www.hjgode.de/wp/2010/06/01/mobile-development-easy-to-use -background-thread-with-gui-update /

メインコードでバックグラウンドスレッドを開始し、そのイベントをサブスクライブすると、pingが終了したときにイベントが発生します。次に、応答(返されたpingの数)を確認し、ホストへのアクションを開始または待機できます。

デバイスの一時停止/再開のためのロジックを含めることを忘れないでください。WiFiは通常、一時停止のためにオフになっているため、ホストにアクセスするにはロジックを再起動する必要があります。

于 2012-11-28T07:24:29.310 に答える
0

当社のすべてのワイヤレスソフトウェアはWebサービスを使用しています。trueを返すIsConnectedと呼ばれる各Webサービスに単純なメソッドを組み込むだけです。これから例外が返される場合は、wifiに問題があることがわかります。

于 2012-12-05T23:43:20.620 に答える