假设我有一个应用程序从网络获取数据,然后在应用程序中显示这些数据。但有时互联网会断开连接,所以我显示的信息是“互联网不可用”。但我想让用户忙于应用程序。所以我想做一些事情,但实施中存在一些问题。
1)网络断开时我想显示消息'network disconnect',我想将所有数据存储在db中。 问题:如果没有发生任何事件,我怎么知道网络不可用?
2)当网络连接时,我想获取数据并存储在缓冲区中。 问题:同样,我怎么知道网络现在可用?
答案 0 :(得分:1)
这是一个非常常见的问题,最好使用Reachability
类来解决。
你可以在这里找到一本好的手册:Testing Network Reachability
快速回答是接受的答案:
但请注意,最好检查主机的可用性。当设备连接到AdHoc WiFi(没有互联网连接)时,我测试了此代码,结果是:可通过WiFi访问互联网。所以如果你想确定 - 使用主机状态。
编辑:这可能是关于SO的最好例子(来自iWasRobbed的答案):
How to check for an active Internet connection on iOS or OSX?