关于断开wifinetworking的可达性

我使用Stackmob SDK(即将结束),我假设他们使用AFNetworking的可达性。 如果设备连接到与Internet断开连接的WiFinetworking,则可达性检查将为正确,并且以下语句将成立:

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

我怎样才能微调这个检查来克服目前的局限性? 如何在这个if语句中检查真正的networking可达性,还是有更好的可达性检查?

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

可达性只检查第一跳。 它将可达性定义为数据包在主机方向离开设备的能力。 如果设备连接到声称能够路由到该主机的networking,则达到可达性。 如果路由器在撒谎,或者主机已经closures,或者在堪萨斯有不友善的反铲,那么Reachability的结果将是乐观的。

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