4

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];
   });

这意味着两者都建议这是检查互联网连接的正确方法。

但我认为只关心我们连接到 Wifi 路由器,它不关心 Wifi 路由器是否可以访问互联网,对吧?

有人在如何以非阻塞方式检查 iOS 上的网络可达性?

第一个测试它是否可以访问 google.com,而第二个只是检查是否有任何可能的互联网连接(它认为存在,即使有数据包丢失)。

是真的吗?

4

1 回答 1

1

我相信你想知道上面代码部分中的zeroAddress是什么。它是您要检查可访问性的地址的主机地址。请参阅链接。

于 2014-10-20T10:31:37.463 回答