現在、私が取り組んでいるアプリで、この非常に奇妙なケースがあります。私がテストしている Wi-Fi ネットワークではインターネットが有効になっていませんが、Reachability
. このケースを確認して、利用可能な接続がないことをユーザーに伝えるにはどうすればよいですか?
2 に答える
1
特定の外部ホスト名に到達できるかどうかを確認するには、(またはreachabilityWithHostName
を使用していると思われます)を使用する必要があります。reachabilityForInternetConnection
reachabilityForLocalWiFi
たとえば、次のコードは、インターネット接続がない場合に YES を返します。
Reachability *reachability = [Reachability reachabilityWithHostName:@"www.apple.com"];
if ([reachability currentReachabilityStatus] == NotReachable)
return YES;
于 2012-11-03T17:22:08.773 に答える
0
「接続」を定義します。Wi-Fi 経由でインターネット サービスを機能させるための鍵となる接続の層がいくつかあります。
- レイヤ 1 (物理リンク) の無線は範囲内にありますか?
- レイヤー 2 (MAC) のほとんどは上記を参照してください。ただし、競合する MAC アドレスが問題を引き起こす可能性があります
- レイヤー 3 (IP) DHCP/BOOTP または静的構成から IP アドレスを取得しましたか?
- レイヤ 3 (GW) ゲートウェイに到達できますか?
- レイヤ 3 (ROUTE) ネクスト ホップ ルータに到達できますか?
- レイヤー 7 (DNS) DNS サーバーに到達できますか? 私たちはだまされたり、魅了されたりしていますか?
これらすべてが機能したら、「Wi-Fi が機能している」はずです。
于 2013-12-11T01:50:05.403 に答える