iOS判断网络是否连接
2015-12-22 12:28
585 查看
类似于一个网络状况的探针。
[[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(reachabilityChanged:) name: kReachabilityChangedNotification object: nil];
hostReach = [[Reachability reachabilityWithHostName: @"hubj.cnblogs.com"] retain];
[hostReach startNotifier];
wifiReach=[[Reachability reachabilityForLocalWiFi]retain];
[wifiReach startNotifier];
- (void)reachabilityChanged: (NSNotification* )note {
Reachability* curReach = [note object];
NSParameterAssert([curReach isKindOfClass: [Reachability class]]);
NetworkStatus netStatus = [curReach currentReachabilityStatus];
switch (netStatus)
{
case NotReachable:
{
NSLog(@"Access Not Available");
break;
}
case ReachableViaWWAN:
{
NSLog(@"Reachable WWAN");
break;
}
case ReachableViaWiFi:
{
NSLog(@"Reachable WiFi");
break;
}
}
}
判断网络是否连接
实时通知网络状况
[[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(reachabilityChanged:) name: kReachabilityChangedNotification object: nil];
hostReach = [[Reachability reachabilityWithHostName: @"hubj.cnblogs.com"] retain];
[hostReach startNotifier];
wifiReach=[[Reachability reachabilityForLocalWiFi]retain];
[wifiReach startNotifier];
- (void)reachabilityChanged: (NSNotification* )note {
Reachability* curReach = [note object];
NSParameterAssert([curReach isKindOfClass: [Reachability class]]);
NetworkStatus netStatus = [curReach currentReachabilityStatus];
switch (netStatus)
{
case NotReachable:
{
NSLog(@"Access Not Available");
break;
}
case ReachableViaWWAN:
{
NSLog(@"Reachable WWAN");
break;
}
case ReachableViaWiFi:
{
NSLog(@"Reachable WiFi");
break;
}
}
}
判断网络是否连接
/*** * 此函数用来判断是否网络连接服务器正常 * 需要导入Reachability类 */ + (BOOL)isExistenceNetwork { BOOL isExistenceNetwork; Reachability *reachability = [Reachability reachabilityWithHostName:@""]; // 测试服务器状态 switch([reachability currentReachabilityStatus]) { case NotReachable: isExistenceNetwork = FALSE; break; case ReachableViaWWAN: isExistenceNetwork = TRUE; break; case ReachableViaWiFi: isExistenceNetwork = TRUE; break; } return isExistenceNetwork; }
实时通知网络状况
/* * 在应用委托的方法didFinishLaunchingWithOptions中添加 */ [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reachabilityChanged:) name:kReachabilityChangedNotification object:nil]; reachability = [[Reachability reachabilityWithHostName:@"www.baidu.com"] retain]; [reachability startNotifier]; ........ return YES; /** *此函数通过判断联网方式,通知给用户 */ - (void)reachabilityChanged:(NSNotification *)notification { Reachability *curReachability = [notification object]; NSParameterAssert([curReachability isKindOfClass:[Reachability class]]); NetworkStatus curStatus = [curReachability currentReachabilityStatus]; if(curStatus == NotReachable) { [DOIN_Util logFax:@"连接失败"]; } }
相关文章推荐
- 虚拟机centos配置网络
- Http状态码详解
- 1_网络基础 OSI网际互联(上)
- iOS开发系列--网络开发
- TCP三次握手和Time-Wait状态
- 高性能Java网络框架 MINA
- TCP/IP、Http、Socket的区别
- servlet-------HttpServletRequest对象
- 网络打印机的一般故障
- NSURLSession下载与缓存
- 安全科普:理解SSL(https)中的对称加密与非对称加密
- HTTP协议基础
- 网络编程概念总结(笔记)-------来自传智播客视频
- http://blog.chinaunix.net/uid-20484604-id-1941290.html
- TCP server和client的一些测试
- C++使用CHttpFile实现Http请求
- jquery easyui 弹出消息框 (转载) jQuery EasyUI API 中文文档 - 消息框(Messager) http://www.cnblogs.com/hantianwei/archive/2012/03/19/2407113.html
- http://home.cnblogs.com/
- linux抓包工具tcpdump
- 利用nginx搭建http和rtmp协议的流媒体服务器