Reachability.h 开源类的使用:判断网络环境,连接情况(无网络连接,3G,WIFI,GPRS)
来源:互联网 发布:mac版excel使用教程 编辑:程序博客网 时间:2024/05/03 18:51
在ASIHttpRequest开源库中有这个类。
先看Reachability.h发现
#import <Foundation/Foundation.h>
#import <SystemConfiguration/SystemConfiguration.h>
#import <netinet/in.h>
所以如果我们在项目中需要用到此类的话,需要引入SystemConfiguration.framework。此类在ios网络开发中可以确认判断网络环境,连接情况(无网络连接,3G,WIFI,GPRS)
enum { // DDG NetworkStatus Constant Names.
kNotReachable = 0, // Apple's code depends upon 'NotReachable' being the same value as 'NO'.
kReachableViaWWAN, // Switched order from Apple's enum. WWAN is active before WiFi.
kReachableViaWiFi
};
定义三种网络类型:
一:kNotReachable 无网络连接
二:kReachableViaWWAN 使用GPRS或者3G网络连接
三:kReachableViaWiFi 使用WIFI连接
我在项目中用下面的语句判断是否存在网络连接BOOL reachable = [[Reachability reachabilityForInternetConnection] isReachable];
if (!reachable) {
UIAlertView *alertView = [[[UIAlertView alloc] initWithTitle:@"该功能需要连接网络才能使用,请检查您的网络连接状态" message:nil delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil] autorelease];
[alertView show];
return;
}
当有网络请求的时候,类中方法可以返回目前的网络连接状态例如:Reachable *reachable = [Reachable reachabilityWithHostName:@"http://blog.csdn.net"];
之后我们应用
// These are the status tests.
- (NetworkStatus) currentReachabilityStatus; 返回网络连接状态
switch( [reachable currentReachabilityStatus ] ) {
/* [reachable currentReachabilityStatus ]包含三个值
一:kNotReachable 无网络连接
二:kReachableViaWWAN 使用GPRS或者3G网络连接
三:kReachableViaWiFi 使用WIFI连接 */
}
- Reachability.h 开源类的使用:判断网络环境,连接情况(无网络连接,3G,WIFI,GPRS)
- 确认网络环境3G/WIFI Reachability的使用
- 手机网络连接类型判断 2/3/4G网络 WiFi和无网络 工具类
- Reachability(判断网络是否连接)
- Reachability(判断网络是否连接)
- Reachability(判断网络是否连接)
- 判断网络状态(移动、WiFi、无网络连接)
- WIFI、3G、2G网络连接判断深入分析
- iPhone 网络连接检测(Wifi,3G,Edge),功能有点像Reachability
- iPhone 网络连接检测(Wifi,3G,Edge),功能有点像Reachability [转]
- ios利用Reachability确认网络环境3G/WIFI
- ios利用Reachability确认网络环境3G/WIFI
- ios利用Reachability确认网络环境3G/WIFI
- ios利用Reachability确认网络环境3G/WIFI
- ios利用Reachability确认网络环境3G/WIFI
- ios利用Reachability确认网络环境3G/WIFI(转)
- 判断网络环境(3G/WIFI)
- Android开发之判断网络(wifi、3G)是否连接
- http权威指南读书笔记
- HDU 3033 I love sneakers! (变形分组背包)
- 武汉JAVA/android培训最优选择--传智播客武汉分校!
- deep learning reading list
- JDBC连接各种数据库方法
- Reachability.h 开源类的使用:判断网络环境,连接情况(无网络连接,3G,WIFI,GPRS)
- 分享如何恢复回收站删除文件的办法
- extjs中treepanel移动数据如何更改为正在移动提示
- Activity 启动模式
- DirectSound 钢琴(2)
- JAVA用http协议GET方法从服务器获取图片保存到本地
- LeetCode:Merge Two Sorted Lists
- 【Android】状态栏通知Notification、NotificationManager详解
- UML之交互图(顺序图/协作图)