关闭

reachability的基本理解

标签: 网span idtransmarkspareachability
86人阅读 评论(0) 收藏 举报

1. 示例说明:此示例用于演示关于如何使用SystemConfiguratio Reachalility程序接口来判定相关的网络连接状态及状态变化,所以在使用此示例中的Reachability.(h/m)文件于自有的项目中的前提是必须引入SystemConfiguration.framework。

2. 首选分析Reachability.h文件:

-> 首先引入<SystemConfiguration/SystemConfiguration.h>

#import <SystemConfiguration/SystemConfiguration.h>

-> 定义代表网络状态的枚举类型NetworkStatus:

复制代码
// 定义网络请求可到达状态
typedef enum 
{
    NotReachable = 0,   // 不可到达
    ReachableViaWiFi,   // 通过WiFi可到达
    ReachableViaWWAN    // 通过无线广域网可到达(WWAN,即Wireless Wide Area Network,无线广域网。)
} NetworkStatus;
复制代码

-> 宏定义关于网络连接变更的通知标识名称:

#define kReachabilityChangedNotification @"kNetworkReachabilityChangedNotification"

-> 定义相关属性:

BOOL localWiFiRef;    
// 用来保存创建测试连接返回的引用
SCNetworkReachabilityRef reachabilityRef;

 

-> 声明各相关的方法:

// 用于检查网络请求是否可到达指定的主机名
+ (Reachability*) reachabilityWithHostName: (NSString*) hostName;
// 用于检查网络请求是否可到达指定的IP地址
+ (Reachability*) reachabilityWithAddress: (const struct sockaddr_in*) hostAddress;
// 用于检查路由连接是否有效
+ (Reachability*) reachabilityForInternetConnection;
// 用于检查本地的WiFi连接是否有效
+ (Reachability*) reachabilityForLocalWiFi;
// 在当前程序的运行回路中开始监听网络请求可到达的通知
- (BOOL) startNotifier;
- (void) stopNotifier;
// 当前网络请求可到达状态
- (NetworkStatus) currentReachabilityStatus;
// 当前网络请求可到达状态
- (NetworkStatus) currentReachabilityStatus;
// 连接需求
- (BOOL) connectionRequired;
0
0

猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:496次
    • 积分:31
    • 等级:
    • 排名:千里之外
    • 原创:2篇
    • 转载:3篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档