OGeek|极客世界-中国程序员成长平台

标题: ios - 关于断开的wifi网络的可达性 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 06:52
标题: ios - 关于断开的wifi网络的可达性

我使用 Stackmob SDK(即将结束),我假设他们使用 AFNetworking 来实现可访问性。如果设备连接到与 Internet 断开连接的 wifi 网络,则可达性检查将是肯定的,并且以下语句将是正确的:

if ([self.appDelegate.client.networkMonitor currentNetworkStatus] == SMNetworkStatusReachable) {
    // reachable
}

如何微调此检查以克服目前的限制?如何在这个 if 语句中检查真实的网络可达性,或者那里有更好的可达性检查?



Best Answer-推荐答案


如果您的问题是“我可以向该主机发送数据并接收响应”,那么 Reachability 只能回答“否”或“可能”。它不能回答"is",因为有很多连通性因素没有检查。

可达性只检查第一跳。它将可达性定义为数据包沿该主机方向离开设备的能力。如果设备连接到声称能够路由到该主机的网络,则满足可达性。如果路由器在撒谎或主机宕机或堪萨斯州有不友好的反铲挖土机,那么 Reachability 的结果将是乐观的。

回答“我可以向该主机发送数据并接收响应”这个问题的唯一可靠方法是实际尝试向该主机发送数据并接收响应。当连接肯定不可用时,可达性可以帮助您放弃。如果您尝试失败,Reachability 的网络更改通知可以帮助您决定何时重试,而不会浪费电力。

关于ios - 关于断开的wifi网络的可达性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22363713/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://sqlite.in/) Powered by Discuz! X3.4