在iPhone中检查Internet连接 - 不仅是路由器
-
26-10-2019 - |
题
我使用普通的可及性工具检查是否有互联网连接。在大多数情况下,它可以工作,但是如果我将WAN电缆插入WiFi-Router,则出于某种原因仍然说它可以找到WiFi的主机。如果我将网址更改为不存在的东西,它将说“互联网是关闭的”。我的问题在哪里?
例子:
I.我有“互联网电缆”未插入,但是通过wifi连接到路由器的电话。我用这条线运行,这是这个域的第一次:
hostReachable = [[Reachability reachabilityWithHostName: @"www.google.com"] retain];
结果=找不到主机(正确)
ii。我在电话中禁用wifi。结果=带有WWAN的主机(正确)
iii。我在电话中启用wifi。结果=带有WiFi的主机。 (不正确,因为路由器不是在线)
解决方案
对于Internet检查,我将HTTP请求发送到一个站点(很可能是Google.com),如果它不返回true,则意味着没有互联网。即使连接也很慢,这种情况也可以。这是方法。
- (BOOL) connectedToInternet
{
NSString *URLString = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"http://www.google.com"]];
return ( URLString != NULL ) ? YES : NO;
}
其他提示
您可能想检查一下 线. 。已知可及性代码仅测试与路由器的连接。现在应该有连接性通知。
不隶属于 StackOverflow