0

可能重复:
即使无线可用,SCNetworkReachabilityGetFlags 也会返回 0

我们正在使用 SCNetworkReachabilityGetFlags 来确定 Internet 连接是否可用。在某些手机上,它偶尔会提供错误信息,表示无法访问某些主机或 IP 地址。无论如何忽略标志并启动请求时,一切正常。

这个答案表明再次打开和关闭飞行模式会释放缓存 SCNetworkReachabilityGetFlags 可能正在使用: SCNetworkReachabilityGetFlags 返回 0 即使无线可用

显然,从可用性的角度来看,这并不是一个真正的选择。有没有人遇到过同样的问题?是否有其他方法可以检查可达性?

4

2 回答 2

0

我的工作是重置网络设置。

于 2011-11-14T11:18:42.117 回答
0

你也可以使用一个很好的 NSURL 方法,

- (BOOL)checkResourceIsReachableAndReturnError:(NSError **)error

NSURL 开发者文档

如果您想在网络离线(或在线)时收到通知,这当然不是很有用,就像您可以使用系统配置一样。

In my IM application for tha Mac I have a watchdog ( 20 second timer ) because SystemConfiguration was not always reliable enough for me.

于 2011-11-14T11:19:35.877 回答