IOS开发之查看网络链接是否可用-----第一讲
2012-06-13 09:40
246 查看
在IOS开发中我们经常用到网络,网络是不可或缺的,有网络连接和没有网络连接的时候进行不同的处理,断点续传等等都离不开网络检测。今天我自己简单的做了一个demo,用一个函数封装网络检测;
-(BOOL)netWorkIsExistence{
struct sockaddr_in initAddress; //sockaddr_in是与sockaddr等价的数据结构
bzero(&initAddress, sizeof(initAddress));
initAddress.sin_len = sizeof(initAddress);
initAddress.sin_family = AF_INET; //sin_family是地址家族,一般都是“AF_xxx”的形式。通常大多用的是都是AF_INET,代表TCP/IP协议族
SCNetworkReachabilityRef readRouteReachability = SCNetworkReachabilityCreateWithAddress(NULL, (struct sockaddr *)&initAddress); //创建测试连接的引用:
SCNetworkReachabilityFlags flags;
BOOL getRetrieveFlags = SCNetworkReachabilityGetFlags(readRouteReachability, &flags);
CFRelease(readRouteReachability);
if (!getRetrieveFlags) {
return NO;
}
BOOL flagsReachable = ((flags & kSCNetworkFlagsReachable) != 0);
BOOL connectionRequired = ((flags & kSCNetworkFlagsConnectionRequired) != 0);
return (flagsReachable && !connectionRequired) ? YES : NO;
}
上面的内容是否有些不理解,如果你没有接触过socket编程和SCNetworkReachability请看第二讲
-(BOOL)netWorkIsExistence{
struct sockaddr_in initAddress; //sockaddr_in是与sockaddr等价的数据结构
bzero(&initAddress, sizeof(initAddress));
initAddress.sin_len = sizeof(initAddress);
initAddress.sin_family = AF_INET; //sin_family是地址家族,一般都是“AF_xxx”的形式。通常大多用的是都是AF_INET,代表TCP/IP协议族
SCNetworkReachabilityRef readRouteReachability = SCNetworkReachabilityCreateWithAddress(NULL, (struct sockaddr *)&initAddress); //创建测试连接的引用:
SCNetworkReachabilityFlags flags;
BOOL getRetrieveFlags = SCNetworkReachabilityGetFlags(readRouteReachability, &flags);
CFRelease(readRouteReachability);
if (!getRetrieveFlags) {
return NO;
}
BOOL flagsReachable = ((flags & kSCNetworkFlagsReachable) != 0);
BOOL connectionRequired = ((flags & kSCNetworkFlagsConnectionRequired) != 0);
return (flagsReachable && !connectionRequired) ? YES : NO;
}
上面的内容是否有些不理解,如果你没有接触过socket编程和SCNetworkReachability请看第二讲
相关文章推荐
- IOS 开发之查看网络链接是否可用 - 1
- IOS开发之查看网络链接是否可用-----第二讲
- IOS开发之查看网络链接是否可用
- IOS开发之查看网络链接是否可用-----第三讲
- IOS开发之查看网络链接是否可用 - 2
- IOS 检测网络链接是否可用 - 3
- 查看当前网络是否可用
- ios 判断网络是否可用工具类
- ios 判断网络是否可用
- iOS 检测网络是否真正可用(连通)的方法
- 【ios开发】如何判断当前网络连接状态(网络是否正常)
- iOS--判断网络是否可用-(本地判断)
- iOS开发之检测网络链接的实际状态RealReachability
- android 查看网络是否可用
- Android开发-常用工具方法(dp转成px、网络是否可用、是否3G网络、Gps是否打开、判断手机号码等)
- IOS--判断当前网络是否可用
- 【ios开发】如何判断当前网络连接状态(网络是否正常)
- iOS 判断网址、链接地址、url地址是否可用
- Android开发_判断手机网络是否可用
- iOS 判断网络是否链接 、 AFNetworking请求超时和请求失败