ICMP и iPhone SDK - PullRequest
       13

ICMP и iPhone SDK

5 голосов
/ 08 мая 2009

Я хочу реализовать класс Ping в Cocoa-Touch. Судя по поиску в Google и старому c-коду, на который я смотрел, кажется, что использование протокола ICMP - лучший путь.

Полагаю, мой вопрос в том, поддерживается ли ICMP в iPhone SDK, и если нет, есть ли что-нибудь в классах CoreFoundation Network, которые я мог бы использовать вместо этого? Я взглянул на CFHost и CFHostStartInfoResolution (host, kCFHostReachability, & error), но это больше для проверки, существует ли хост, а не для того, чтобы найти время для ответа и т.д.

Ответы [ 2 ]

1 голос
/ 09 мая 2009

Да, вы можете теоретически сделать это. Тем не менее, в последний раз, когда я проверял, вам нужно было работать от имени пользователя root, чтобы получить доступ к «сырому» BSD-сокету, необходимому для отправки трасс ICMP. По крайней мере, это верно для Mac, поэтому я предполагаю, что на iPhone то же самое.

Возможно, вы захотите взглянуть на платформу SystemConfiguration и API-интерфейсы SCReachability в качестве альтернативы. Все они асинхронные, поэтому вы можете отслеживать время, необходимое для понимания задержки в сети.

0 голосов
/ 08 мая 2009

Не уверен насчет вещей CFNetwork, но не забывайте, что у вас все еще есть все обычные сетевые устройства BSD.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...