`
wangleyiang
  • 浏览: 214885 次
社区版块
存档分类
最新评论

判断网络是否连接

阅读更多

iOS开发中判断网络连接的操作步骤如下:

1、添加framework,SystemConfiguration.framework;

2、倒入文件:

#import <SystemConfiguration/SystemConfiguration.h>
#include <netdb.h>

 3、判断方法:

- (BOOL) connectedToNetwork {
    // Create zero addy
    struct sockaddr_in zeroAddress;
    bzero(&zeroAddress, sizeof(zeroAddress));
    zeroAddress.sin_len = sizeof(zeroAddress);
    zeroAddress.sin_family = AF_INET;
    
    // Recover reachability flags
    SCNetworkReachabilityRef defaultRouteReachability = SCNetworkReachabilityCreateWithAddress(NULL, (struct sockaddr *)&zeroAddress);    
    SCNetworkReachabilityFlags flags;
    BOOL didRetrieveFlags = SCNetworkReachabilityGetFlags(defaultRouteReachability, &flags);
    CFRelease(defaultRouteReachability);
    if (!didRetrieveFlags) {
        return NO;
    }
    BOOL isReachable = ((flags & kSCNetworkFlagsReachable) != 0);
    BOOL needsConnection = ((flags & kSCNetworkFlagsConnectionRequired) != 0);
    return (isReachable && !needsConnection) ? YES : NO;
}

 来自《The iPhone Developer's Cookbook》

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics