使用AFNetworking框架检测网络状态
2016-06-01 14:09
381 查看
AFNetworking框架中自带了网络检测功能,在AFNetworkReachabilityManager文件中,使用AFNetworkReachabilityManager来监听网络状态的改变;苹果也提供Reachability来监听网络。因现在使用AFNetworking框架进行网络请求较多,因此博主使用自带的网络检测。[/code]
以下是枚举类的几种状态
typedef NS_ENUM(NSInteger, AFNetworkReachabilityStatus) { AFNetworkReachabilityStatusUnknown = -1, AFNetworkReachabilityStatusNotReachable = 0, AFNetworkReachabilityStatusReachableViaWWAN = 1, AFNetworkReachabilityStatusReachableViaWiFi = 2, }; -(void)afnNetworkReachability { //1.创建网络状态监测通知 AFNetworkReachabilityManager *manger = [AFNetworkReachabilityManager sharedManager]; //2.监测网络状态改变 [manger setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) { switch (status) { case AFNetworkReachabilityStatusUnknown: NSLog(@"未知网络"); break; case AFNetworkReachabilityStatusNotReachable: NSLog(@"没有连接网络"); break; case AFNetworkReachabilityStatusReachableViaWWAN: NSLog(@"3G|4G"); break; case AFNetworkReachabilityStatusReachableViaWiFi: NSLog(@"WiFi"); break; default: break; } }];
Reachablity 是一个iOS下检测,iOS设备网络环境用的库。
因为Reachablity只能监听网络状态的状况,不能监听它的改变,所以采用通知的方式
-(void)viewDidLoad { [super viewDidLoad]; //注册通知 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reachabilityStatusChange) name:kReachabilityChangedNotification object:nil]; //创建对象 Reachability *reachability = [Reachability reachabilityForInternetConnection]; [reachability startNotifier]; } -(void)reachabilityStatusChange { if ([Reachability reachabilityForInternetConnection].currentReachabilityStatus == ReachableViaWWAN) { NSLog(@"3G|4G"); return; } if ([Reachability reachabilityForLocalWiFi].currentReachabilityStatus == ReachableViaWiFi) { NSLog(@"wifi"); return; } NSLog(@"未知网络"); }
相关文章推荐
- Http通信模仿迅雷多线程下载
- Scoket 多线程范例 TCP UDP Server Client
- 几种Web服务器比较-(Apache、IIS、Lighttpd、Nginx、LiteSpeed、Zeus
- BP神经网络
- ios开发网络篇—数据安全
- 关于Linux网络程序的一些小问题
- java发送http的get、post请求[转]
- qt tcp socket简单的通信程序
- 简单版Java网络爬虫的实现
- HTTP 状态码
- Https双向认证客户端请求方式
- 跨平台高效率Lua网络库 ( 同步形式的API ,底层是异步非阻塞)
- 虚拟机的三种网络模式
- iOS RSA的网络安全模型、iOS签名机制总结(登录、token安全、签名)
- HTTP协议详解
- ios开发网络篇—Get请求和Post请求
- Java网络编程——基于UDP的Socket编程
- [置顶] XListView上拉刷新下拉加载(网络请求json)
- HTTP遇到的安全问题&&HTTPS解决的问题
- iOS-HTTP 请求方式: GET和POST的比较