iOS-具有可达性类的连接检查器失败。(具有主机名的可达性:)
我使用Apple的可达性类“reachabilityWithHostName:方法”编写了一个连接检查器。这是我的密码iOS-具有可达性类的连接检查器失败。(具有主机名的可达性:),ios,reachability,internet-connection,Ios,Reachability,Internet Connection,我使用Apple的可达性类“reachabilityWithHostName:方法”编写了一个连接检查器。这是我的密码 -(BOOL)checkConnection{ Reachability *reachability = [Reachability reachabilityWithHostName:@"www.example.com"]; NetworkStatus remoteHostStatus = [reachability currentReachabilityStatus]; if
-(BOOL)checkConnection{
Reachability *reachability = [Reachability reachabilityWithHostName:@"www.example.com"];
NetworkStatus remoteHostStatus = [reachability currentReachabilityStatus];
if (remoteHostStatus != NotReachable) {
return YES;
}
else {return NO;}
}
下面是用例:
-(BOOL)checkConnection{
Reachability *reachability = [Reachability reachabilityWithHostName:@"www.example.com"];
NetworkStatus remoteHostStatus = [reachability currentReachabilityStatus];
if (remoteHostStatus != NotReachable) {
return YES;
}
else {return NO;}
}
- 如果我有wifi连接**:按预期返回是
- 如果我有手机连接:按预期返回YES
- 如果手机和Wifi被禁用:按预期返回NO
- 如果我有无线网络连接;但DSL电缆已拔下(因此主机不应拔下) 无法访问,internet连接不可用。):返回YES,这是意外情况。
- 另外,如果手机已启用,但在我当前的位置上没有信号:返回YES,这是意外的。
谢谢。在@Martin Koles的帮助下,我在服务器中添加了一个html文件。它里面只有一个随机值。现在我检查可达性。若服务器是可访问的,我将尝试从html文件中获取该值。然后,如果我能得到返回YES的值。如果我不能(serverValue应该是nil)返回NO
-(BOOL)checkConnection{
Reachability *reachability = [Reachability reachabilityWithHostName:@"www.example.com"];
NetworkStatus remoteHostStatus = [reachability currentReachabilityStatus];
if (remoteHostStatus != NotReachable) {
return YES;
}
else {return NO;}
}
-(BOOL)checkConnection{
Reachability *reachability = [Reachability reachabilityWithHostName:@"www.izmirmobil.com"];
NetworkStatus remoteHostStatus = [reachability currentReachabilityStatus];
if (remoteHostStatus != NotReachable) {
NSURL *url = [NSURL URLWithString:@"http://www.example.com/getAValue.html"];
NSError *errr = nil;
NSStringEncoding enc;
NSString *serverValue = [[NSString alloc] initWithContentsOfURL:url usedEncoding:&enc error:&errr];
if(serverValue)return YES;
else return NO;
}
else {return NO;}
}
见此: