2016-01-27 1 views
-1

Я использую класс Reachability от apples demo projects, чтобы выполнить ping на некоторых серверах. Но независимо от того, что я пишу в URL, я всегда получаю ReachableViaWiFi.Класс возвращаемости всегда возвращает Reachable

Reachability* reachability = [Reachability reachabilityWithHostName:URL]; 
NetworkStatus netStatus = [reachability currentReachabilityStatus]; 

Я подключен к Wi-Fi, но я просто хочу проверить, доступны ли какие-либо серверы. (С ответом «НЕТ», если я отключен от сети).

Любые предложения, пожалуйста, даже с другими классами с одинаковой целью.

Благодаря

+0

Теги, которые вы использовали, не являются подходящими для этого вопроса. Пожалуйста, просмотрите [Что такое теги и как их использовать?] (// stackoverflow.com/help/tagging) – SmokeDispenser

ответ

1

От docs:

Удаленный хост считается достижимым, когда пакет данных, посланный с помощью приложения в сетевой стек, может оставить локальное устройство. Досягаемость не гарантирует, что пакет данных фактически будет , принятый хостом.

Edit: Так что, если есть маршрут доступен (ли сервер на самом деле слушает или нет), то вернуть качество этого маршрута, в вашем случае Wi-Fi.

Как насчет того, чтобы просто отправить запрос и проверить результат?

Что касается вашего вопроса в другой библиотеке: здесь вопросы считаются off topic.

+0

Спасибо за ваш ответ! Дело в том, что я не знаю, какой сервер я получу в этот момент, поэтому мне нужно сделать общий «ping», чтобы проверить его «оперативность» (более чем достижимость). Есть класс, который позволяет мне это делать? (synchrounosly) – Talkanian

+0

Прежде всего, не подключайтесь к основной теме. Кроме того, вы можете создавать сети низкого уровня с помощью CoreFoundation (CFNetworking). Для сторонних библиотек обратитесь к разделу «вне темы» моего ответа. – SmokeDispenser

Смежные вопросы