2011-03-09 197 views
1

我试过检查是否有连接到google.com 但是这种方法无法正常工作? 你能告诉我我的错吗? 此致拉斐尔检查互联网连接

- (BOOL)networkConnected { 
    SCNetworkReachabilityFlags flags = 0; 
    SCNetworkReachabilityRef netReachability; 
    BOOL retrievedFlags = NO; 
    netReachability = SCNetworkReachabilityCreateWithName(CFAllocatorGetDefault(), [@"http://www.google.com" UTF8String]); 

    if (netReachability) { 
     retrievedFlags = SCNetworkReachabilityGetFlags(netReachability, &flags); 
     CFRelease(netReachability); 
    } 
    if (!retrievedFlags || !flags) { 
     NSLog(@"no"); 
     return NO; 
    } 
    NSLog(@"yes"); 
    return YES; 
} 

回答

1
+0

非常感谢。我已经从“高级iOS编程”一书中获得了我的代码[1]。但Apple的Reachability Samplecode对我来说效果更好。谢谢你的提宝。你的,拉斐尔[1] http://www.amazon.de/Advanced-iOS-Programming-Applications-Application/dp/0470971231/ref=sr_1_1?ie=UTF8&s=books-intl-de&qid=1299947533&sr=8-1, – Raphael 2011-03-12 16:35:03

+0

如果我的答案帮助您将其标记为正确的答案。 – 2011-03-14 07:26:43

0

你可以使用这个在Objective-C的iPhone?

DWORD flags, reserved; 
flags = reserved = 0; 
if(!InternetGetConnectedState(&flags, reserved)) 
{ 
    // No internet connection 
} else { 
    // Have internet connection 
}