Это плохая практика для проверки доступности таким образом? - PullRequest
1 голос
/ 14 декабря 2011

Это плохая практика для проверки доступности веб-службы с помощью вызова NSURLConnection для определенного метода, который возвращает YES, если соединение существует?

Я искал другие способы сделать это, но не смогвыясните, как проверить, доступна ли конкретная услуга, а не WiFI или тому подобное.

Ответы [ 2 ]

3 голосов
/ 14 декабря 2011

Есть SCNetworkReachability (см. Apple Достижимость пример кода ), но это только проверяет, должен ли сервер быть доступным, но не сообщает, действительно ли служба доступна (Бег).Для этого вы должны попытаться использовать его.Просто убедитесь, что не использует sendSynchronousRequest:returningResponse:error: в главном потоке, так как это синхронно и будет блокировать поток, пока это не будет сделано.Если вы сделаете это в основном потоке, пользовательский интерфейс будет зависать до тех пор, пока служба не ответит или не истечет время ожидания.Поэтому либо используйте асинхронные методы NSURLConnection («рекомендуемый» способ), либо используйте синхронный метод в отдельном потоке.Первый, на мой взгляд, легче / лучше.

2 голосов
/ 14 декабря 2011

Это только способ сделать это надежно. Хотя статус службы может меняться в зависимости от того, выполняете ли вы тестирование и пытаетесь ли получить реальные данные, поэтому вы должны кодировать свои реальные соединения, как будто вы еще не проверили, так зачем тогда отдельная проверка?

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