在我的应用程序中,如果用户没有互联网连接,我需要显示“无互联网连接”消息。
使用可达性:
Reachability *netReach = [Reachability reachabilityWithHostName:@"host.name"];
是个坏主意,因为互联网可用,但主机不是,对吗?
那么如何在没有主机的情况下检查互联网连接?感谢...
答案 0 :(得分:1)
Reachability *internetReachable = [Reachability reachabilityForInternetConnection];
[internetReachable startNotifier];
if(internetReachable.isReachable)
NSLog(@"True");
答案 1 :(得分:0)
你是对的。可达性仅检查某个主机是否可访问。问题是,如果没有向主机发送请求,我无法(如果能想到的话)如何确定您是否连接到互联网。
那么你可以做什么(以及Apple在其可达性示例中做了什么):选择一个主机,你可以99.99%确定主机可用。例如google.com或apple.com
我认为苹果依赖某个主机来检查互联网连接的事实(以及他们没有提出别的东西,而不依赖某个主机这一事实)是一个相当好的迹象,以这种方式检查互联网连接并不是一个坏主意。
修改
当然,最好的方法(如Petesh指向的问题的答案中所述)将简单地发出您想要的请求,然后相应地处理错误(如果它们发生)。换句话说:1。提出请求2.如果失败,请使用可达性来查看是否存在丢失的互联网连接问题