关于断开的wifi网络的可达性

时间:2014-03-12 21:01:28

标签: ios objective-c afnetworking

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

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

如何微调此检查以克服目前的限制?如何检查此if语句中的实际网络可达性,或者是否有更好的可达性检查?

1 个答案:

答案 0 :(得分:4)

如果您的问题是"我可以将数据发送到该主机并收到响应",那么可达性只能回答"否"或者"也许"。它无法回答"是"因为Reachability没有检查很多连接因素。

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

回答问题的唯一可靠方法"我可以将数据发送到该主机并收到回复吗?实际上是尝试向该主机发送数据并接收响应。可连接性可以帮助您在绝对无法获得连接时放弃。如果您尝试失败,Reachability的网络变更通知可以帮助您决定何时再次尝试而不会浪费电力。