2014-02-10 88 views

回答

1

我看着蘋果的可達性代碼,我認爲這將完成這項工作。

- (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]; 
} 
0
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

+0

謝謝,但它不是我正在尋找。我想檢查本地無線可達性,而不是互聯網可達性。謝謝你的幫助。 – kokluch