需要导入头文件#import<netinet/in.h>
需要添加SystemConfiguration.framework库并添加#import<SystemConfiguration/SystemConfiguration.h>
#pragma mark---检查网络连接状态
- (BOOL)checkNetworkConnection{
structsockaddrzeroAddress;
bzero(&zeroAddress,sizeof(zeroAddress));
zeroAddress.sa_len=sizeof(zeroAddress);
zeroAddress.sa_family=AF_INET;
//根据传入的地址创建网络连接引用
SCNetworkReachabilityRef defaultRouteReachability = SCNetworkReachabilityCreateWithAddress(NULL, (struct sockaddr *)&zeroAddress);
SCNetworkReachabilityFlags flags;
//获取网络连接状态(是否存在网络连接)第一个参数为之前建立的测试连接的引用,第二个参数用来保存获得的状态,如果能获得状态则返回TRUE,否则返回FALSE
BOOLdidReceiveFlags =SCNetworkReachabilityGetFlags(defaultRouteReachability, &flags);
CFRelease(defaultRouteReachability);
if(!didReceiveFlags) {
returnNO;
}
BOOLisReachable = flags &kSCNetworkFlagsReachable;//表明网络可以访问。
BOOL needsConnection = flags & kSCNetworkFlagsConnectionRequired;//无需更多链接。
return(isReachable && !needsConnection) ?YES:NO;
}