繁体   English   中英

在非常低的网络上无法获得可达性的响应

[英]Unable to get the response from Reachabilty on very low network

如果我要检查主机的可访问性,这需要花费太多时间进行检查,并且意味着我确实希望从可访问性中获得的反馈可以进一步解决。 如果要花费4秒钟以上的时间,我想取消可达性检查,并且我想继续让我的应用在离线模式下工作。 我真的不希望我的用户等待一段时间,直到获得Reachabiltiy的反馈。 是否有其他解决方法,例如可达性花费太多时间,我可以以任何方式跳过它吗?

- (BOOL)isReachableWithHostName:(NSString *)hostname {
     BOOL reachable;
     Reachability *reachability = [Reachability reachabilityWithHostName:hostname];
     NetworkStatus internetStatus = [reachability currentReachabilityStatus];
     if (internetStatus == NotReachable) {
         reachable = NO;
     } else {
         reachable = YES;
     }

     return reachable;
}

- (BOOL)isGoogleReachable {
    return [self isReachableWithHostName:@"google.com"];
}

如果我想从可达性中获取反馈,并且响应时间少于4秒,该怎么办。

  1. 使用异步方法。 可达性更改时,可达性会生成通知。
  2. 添加一个超时NSTimer并假设在所需的超时后无法到达,则继续操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM