iPhoneのインターネット接続を確認してください - ルーターだけでなく

StackOverflow https://stackoverflow.com/questions/6306631

質問

通常の到達可能性ツールを使用して、利用可能なインターネット接続があるかどうかを確認します。ほとんどの場合は機能しますが、WANケーブルをWIFIルーターに引き出した場合、何らかの理由でWiFiでホストを見つけることができると言われています。 Webアドレスを存在しないものに変更すると、「インターネットはダウンしている」と言うでしょう。私の問題はどこにありますか?

例:

I.「インターネットケーブル」がプラグが解除されていませんが、WiFiによってルーターに接続された電話があります。私はこのラインで走り、このドメインの初めて:

hostReachable = [[Reachability reachabilityWithHostName: @"www.google.com"] retain];

結果=ホストが見つかりません(正しい)

ii。電話でwifiを無効にします。 result = wwan(正しい)で見つかったホスト

iii。電話でwifiを有効にします。結果= wifiで見つかったホスト。 (ルーターはオンラインではないため、正しくありません)

役に立ちましたか?

解決

インターネットチェックの場合、1つのサイト(おそらくGoogle.com)にHTTPリクエストを送信します(おそらくGoogle.com)が返されない場合は、インターネットがないことを意味します。このケースは、接続が非常に遅い場合でも機能します。これが方法です。

- (BOOL) connectedToInternet
{
    NSString *URLString = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"http://www.google.com"]];
return ( URLString != NULL ) ? YES : NO;
}

他のヒント

あなたはこれをチェックしたいかもしれません スレッド. 。 Reachabilityコードは、ルーターとの接続のみをテストすることが知られています。現在、接続性の通知があるはずです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top