零sockaddr_in在SCNetworkReachabilityCreateWithAddress中意味着什么?



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是什么。它是要检查其可达性的主机地址。

相关内容

  • 没有找到相关文章

最新更新