检查iPhone / iPod上的网络故障类型

时间:2009-09-17 10:44:01

标签: iphone networking

我有一个使用Web服务获取数据的应用程序。在从Web服务获取数据之前,我使用“Reachabilty”中说明的方法检查设备上的网络可用性。但它的作用是ping服务器并根据它给出状态的响应。但在我的应用程序中,我希望根据网络故障向用户显示不同的消息 1.有时网络在设备上不可用 2.有时候ping服务器已关闭

任何机构都可以告诉我如何区分这两种类型的失败。

由于 Ashwani

1 个答案:

答案 0 :(得分:1)

好吧,我猜你可以用你的服务器地址实例化一个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;
}

编辑:您可以查看Reachability flags,它们会告诉您有关网络节点的可访问性状态的更多信息。