您的位置:首页 > 理论基础 > 计算机网络

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请看第二讲
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: