Проверьте тип сбоя сети на iPhone / iPod - PullRequest
0 голосов
/ 17 сентября 2009

У меня есть приложение, которое использует веб-сервис для получения данных. Прежде чем получать данные из веб-службы, я проверяю доступность сети на устройстве, используя подход, описанный в « Reachabilty ». Но что он делает, он пингует сервер и в зависимости от ответа дает статус. Но в моем приложении я хочу показать другое сообщение пользователю в зависимости от сбоя сети 1. Некоторое время сеть недоступна на устройстве 2. Некоторое время пингующий сервер не работает

Может ли какой-либо орган сказать мне, как провести различие между этими двумя типами неудач.

Спасибо Ashwani

1 Ответ

1 голос
/ 17 сентября 2009

Ну, я полагаю, вы могли бы создать NSURL с адресом вашего сервера и проверить, не произошел ли сбой с ошибкой или соединение установлено:

- (NSError*)checkServer{
NSError *serverError;
NSString *command = [NSString stringWithFormat:@"http://192.168.0.1/"];

NSURLResponse *response;

NSURL *pathURL = [NSURL URLWithString:command];
NSURLRequest *request = [NSURLRequest requestWithURL:pathURL cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:5.0];
NSData *theData =  [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&serverError];

if ([serverError code]) return serverError;

return nil;
}

Edit: вы можете взглянуть на Reachability flags , они больше говорят вам о состоянии достижимости сетевого узла.

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