objective-c - 无法使用可达性 reachabilityForInternetConnection 检测互联网连接

标签 objective-c ios connection reachability

我有一个问题。我正在使用 Reachability 的 reachabilityForInternetConnection 方法来检测互联网可用性,但我得到的是连接状态而不是互联网状态。我的意思是,如果我关闭我的 Wifi 连接,该方法会给我正确的指示,表明我没有连接,但如果 wifi 打开并且互联网连接不工作,它似乎不起作用。有什么想法吗?

最好的问候

最佳答案

可达性只能用于检测 iPhone 是否连接到互联网网关。网关后面是什么,它不会告诉你。如果 LAN 可以访问但您无法访问 Internet 怎么办? iPhone 怎么会猜到它看到的(局域网)不是整个互联网?

您应该向真实站点发出一些真实请求。如果失败,则表明连接到 Internet 存在问题,通过 Reachability 的结果甚至可以了解问题出在哪里。最简单的方法是使用 NSUrlRequest 发出请求,例如 http://www.google.com。 . (如果谷歌死了,你可能会认为那里有比你的应用程序连接性更大的问题:)

关于objective-c - 无法使用可达性 reachabilityForInternetConnection 检测互联网连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9597678/

相关文章:

mysql - 解决 "MySQL server has gone away"错误

VB6 应用程序尝试连接到 Azure SQL 数据库

ios - Objective-C 奇怪的解压缩行为导致文件损坏

c++ - 为什么使用 PHP 数百个数据库连接无关紧要..但在 C++ 应用程序中却很重要?

ios - 在 Interface Builder 上,将 UILabel 连接到自定义 UIView IBOutlet

iphone - 帮助解决我的应用崩溃的原因?

ios - 无法从设备中删除 currentUser.uid

ios - 如何在 Swift 中向响应式网站添加后退按钮

ios - 如何在不分配标签属性的情况下识别 View 对象

ios - 歌曲不会在 slider 拖动 iOS 上快进