Я посмотрел на образец Reachability от Apple и еще один пример из «Книги поваренных разработок Iphone»
Вот шаги для проверки доступности ip / порта
- создать переменную sockaddr_in с указанным ip / портом.
- вызовите SCNetworkReachabilityCreateWithAddress с адресом
- вызовите SCNetworkReachabilityGetFlags и посмотрите, установлено ли kSCNetworkFlagsReachable.
Я считаю, что любой действительный (действительный диапазон) ip / порт, который я установил для тестирования, мой код говорит, что он достижим, даже если они на самом деле недоступны, когда я проверяю ping или тест telnet.
(Я видел другие посты SO, где тест на достижимость для конкретного ip всегда был успешным)
Достижимость достижимости с адресом не работает
является ли SCNetworkReachability .. call только проверкой правильности аргумента (IP-адрес или имя хоста)? то есть, они фактически отправляют пакет (или соединяются) по указанному адресу для проверки достижимости?
Я могу реализовать асинхронное соединение с тайм-аутом самостоятельно, но неясно, сколько времени должно быть, чтобы тайм-аут не был отклонен рецензентами яблок. (Я беспокоюсь, если это займет слишком много времени, рецензенты яблок могут подумать, что мое приложение не обрабатывает достижимость сети вообще)
Спасибо