tonymillion的可达性
+(Reachability *)reachabilityForInternetConnection
{
struct sockaddr_in zeroAddress;
bzero(&zeroAddress, sizeof(zeroAddress));
zeroAddress.sin_len = sizeof(zeroAddress);
zeroAddress.sin_family = AF_INET;
return [self reachabilityWithAddress:&zeroAddress];
}
和AFNetworkReachabilityManager有
+ (instancetype)sharedManager {
static AFNetworkReachabilityManager *_sharedManager = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
struct sockaddr_in address;
bzero(&address, sizeof(address));
address.sin_len = sizeof(address);
address.sin_family = AF_INET;
_sharedManager = [self managerForAddress:&address];
});
这意味着两者都建议这是检查Internet连接的正确方法。
但我认为,在只关心我们连接到Wifi路由器,它不关心Wifi路由器有互联网接入,对吗?
有人在如何以非阻塞方式检查iOS上的网络可达性?
第一个测试是否可以到达google.com,而第二个测试一个简单的检查是否有任何可能的互联网连接(它认为存在,即使有数据包丢失)。
我相信您想知道上面代码部分中的zeroAddress是什么。它是要检查其可达性的主机地址。