2

現在、到達可能性を使用して、利用可能な接続を検出しています。これは、何もないとき、または接続が良好なときにうまく機能します。しかし、ユーザーがインターネットに接続されていない独自の wifi ノードを備えた飛行機に乗っている場合はどうなるでしょうか? ユーザーは機内モードになり、Wi-Fi がオンになり、Reachability が混乱します。接続されていることがわかりますが、HTTP 呼び出しに十分に接続されていません。

到達可能性は Wi-Fi を検出しますが、Wi-Fi が実際にインターネットへのアクセスを提供しているかどうかを判断するほど詳細ではなく、微妙でもありません。これは、カフェやオフィスで Wi-Fi に接続しようとしているが、認証するための正しい認証情報がない場合にも発生する可能性があります。

wifiノードが資格情報を要求しているかどうかを検出することは可能ですか? 真の接続性を確認するために HTTP 呼び出しを行う必要がありますか? この問題を解決するためのより賢い方法はありますか?

4

1 に答える 1

-1

私の知る限り、これを行うにはいくつかの作業を行う必要があります。参考までに、WiFi とセル モデムのインターフェイスがオンになると、インターフェイスがオンラインに戻ったときにハンドシェイクが行われます。インターフェイスが開いていてオンになっているかどうか、IP アドレスがあるかどうか、およびインターネット アドレスに到達できるかどうかに違いがあります。機内モードをオフにして接続を再開すると、これがより重要になることはわかっていますが、「起動して IP アドレスを取得する」ということ全体が忘れられがちです。

各インターフェイスの到達可能性フラグをチェックし、アドレスをヒットしてそのインターフェイス経由でデータを取得できるかどうかを確認します。

于 2016-07-14T14:28:11.733 に答える