Проверьте интернет-соединение в iPhone - не только к роутеру - PullRequest
0 голосов
/ 10 июня 2011

Я использую обычные инструменты Reachability, чтобы проверить, доступно ли подключение к интернету.В большинстве случаев это работает, но если я отключу кабель WAN от wifi-роутера, по какой-то причине он все равно скажет, что может найти хост по wifi.Если я изменю веб-адрес на что-то, чего не существует, он скажет «Интернет не работает», как и должно быть.Где моя проблема?

Пример:

I.У меня отключен "интернет-кабель", но телефон подключен к маршрутизатору через Wi-Fi.Я впервые запускаю эту строку для этого домена:

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

Результат = хост не найден (правильный)

II.Я отключаю Wi-Fi в телефоне.Результат = Хост найден с WWAN (правильно)

III.Я включаю Wi-Fi в телефоне.Результат = Хост найден с WIFI.(не правильно, так как маршрутизатор не в сети)

Ответы [ 2 ]

0 голосов
/ 10 июня 2011

Вы можете проверить эту ветку .Известно, что код Reachability проверяет только соединение с вашим маршрутизатором.Теперь должно быть уведомление о подключении.

0 голосов
/ 10 июня 2011

Для проверки интернета я отправляю запрос http на один сайт (скорее всего, на google.com), если он не возвращает true, это значит, что нет интернета.Этот случай работает, даже если соединение очень медленное.Вот метод.

- (BOOL) connectedToInternet
{
    NSString *URLString = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"http://www.google.com"]];
return ( URLString != NULL ) ? YES : NO;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...