AFNetworking 可达性ForLocalWiFi

Posted

技术标签:

【中文标题】AFNetworking 可达性ForLocalWiFi【英文标题】:AFNetworking reachabilityForLocalWiFi 【发布时间】:2014-02-10 17:49:29 【问题描述】:

AFNetworking 2 有什么方法可以等效

[Reachability reachabilityForLocalWiFi];

【问题讨论】:

【参考方案1】:

我查看了 Apple 可访问性代码,我认为这可以完成这项工作。

- (AFNetworkReachabilityManager*) reachabilityForLocalWifi

    struct sockaddr_in localWifiAddress;
    bzero(&localWifiAddress, sizeof(localWifiAddress));
    localWifiAddress.sin_len = sizeof(localWifiAddress);
    localWifiAddress.sin_family = AF_INET;

    // IN_LINKLOCALNETNUM is defined in <netinet/in.h> as 169.254.0.0.
    localWifiAddress.sin_addr.s_addr = htonl(IN_LINKLOCALNETNUM);

    return [AFNetworkReachabilityManager managerForAddress:&localWifiAddress];

【讨论】:

【参考方案2】:
NSURL *baseURL = [NSURL URLWithString:@"http://example.com/"];
AFHTTPRequestOperationManager *manager = [[AFHTTPRequestOperationManager alloc] initWithBaseURL:baseURL];

NSOperationQueue *operationQueue = manager.operationQueue;
[manager.reachabilityManager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) 
switch (status) 
    case AFNetworkReachabilityStatusReachableViaWWAN:
    case AFNetworkReachabilityStatusReachableViaWiFi:
        [operationQueue setSuspended:NO];
        break;
    case AFNetworkReachabilityStatusNotReachable:
    default:
        [operationQueue setSuspended:YES];
        break;

];

我在一些项目的自定义客户端中使用它,用于检查互联网可达性。 参考afnetworking link

【讨论】:

谢谢,但这不是我想要的。我想检查本地 wifi 可达性而不是互联网可达性。感谢您的帮助。

以上是关于AFNetworking 可达性ForLocalWiFi的主要内容,如果未能解决你的问题,请参考以下文章

AFNetworking 2.0 可达性不起作用

AFNetworking - 检查域的可达性

AFNetworking 可达性ForLocalWiFi

AFNetworking 可达性在网络状态改变时显示 UIView

使用 AFNetworking 2 和可达性没有互联网连接警报

AFNetworking 2.0。如何检查套接字的可达性状态(managerForAddress :)?