检测网络状态

来源:互联网 发布:无线通信网络系统 编辑:程序博客网 时间:2024/05/22 17:33
<p style="margin-top: 0px; margin-bottom: 0px; font-size: 11px; font-family: Menlo;"><pre name="code" class="objc">//需要加入 CFNetwork.framework,SystemConfiguration.framework#import <SystemConfiguration/SystemConfiguration.h>#import <netdb.h>


-(BOOL)connectNetwork{    struct  sockaddr_in zeroAddress;    bzero(&zeroAddress, sizeof(zeroAddress));    zeroAddress.sin_len=sizeof(zeroAddress);    zeroAddress.sin_family=AF_INET;    SCNetworkReachabilityRef defaultRouteReachability=SCNetworkReachabilityCreateWithAddress(NULL, (struct sockaddr*)&zeroAddress);    SCNetworkReachabilityFlags flags;    BOOL didRetrieveFlags=SCNetworkReachabilityGetFlags(defaultRouteReachability, &flags);    CFRelease(defaultRouteReachability);    if (!didRetrieveFlags) {        printf("Could not recover network flags\n");        return NO;            }    BOOL isReachable=flags&kSCNetworkFlagsReachable;    BOOL needsConnection=flags& kSCNetworkFlagsConnectionRequired;    return (isReachable &&!needsConnection)?YES:NO;}

0 0
原创粉丝点击