標籤:
轉自:http://blog.csdn.net/lwq421336220/article/details/16982857
- (BOOL) connectedToNetwork
{
//建立零地址,0.0.0.0的地址表示查詢原生網路連接狀態
structsockaddr_in zeroAddress;
bzero(&zeroAddress,sizeof(zeroAddress));
zeroAddress.sin_len =sizeof(zeroAddress);
zeroAddress.sin_family =AF_INET;
SCNetworkReachabilityRef defaultRouteReachability =SCNetworkReachabilityCreateWithAddress(NULL, (structsockaddr *)&zeroAddress);
SCNetworkReachabilityFlags flags;
BOOL didRetrieveFlags =SCNetworkReachabilityGetFlags(defaultRouteReachability, &flags);
CFRelease(defaultRouteReachability);
if (!didRetrieveFlags)
{
printf("Error. Could not recover network reachability flagsn");
returnNO;
}
BOOL isReachable = ((flags &kSCNetworkFlagsReachable) != 0);
BOOL needsConnection = ((flags &kSCNetworkFlagsConnectionRequired) != 0);
return (isReachable && !needsConnection) ?YES : NO;
}
使用的時候:
if ([selfconnectedToNetwork]) {
}else{
UIAlertView *alert=[[UIAlertViewalloc]initWithTitle:@"提示" message:@"網路連接失敗,請查看網路連接。" delegate:self cancelButtonTitle:@"我知道了" otherButtonTitles:nil,nil];
[alertshow];
}
ios 測試網路是否串連