使用Reachability实时监测网络连通性

Posted 华少不思议

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Reachability实时监测网络连通性相关的知识,希望对你有一定的参考价值。

在开发ios应用是我匀经常要使用网络,还得监控网络的连接情况,当网络发生改变时进行对应的事件处理工作。下面就讲解一下利用Reachability进行网络边连接情况监测的使用方法。

要使用Reachability进行网络监控必须先导进Reachability.h和Reachability.m两个方件。

在.h文件中声明一个全局的Reachability类,代码如下:

#import

#import "Reachability.h"

@interface AppDelegate : UIResponder {

Reachability *hostReach;

}

@property (strong, nonatomic) UIWindow *window;

@end

在.m文件中加入对应的代码

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

{

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

// Override point for customization after application launch.

//监测网络情况

[[NSNotificationCenter defaultCenter] addObserver:self

selector:@selector(reachabilityChanged:)

name: kReachabilityChangedNotification

object: nil];

//初始化Reachability类,并添加一个监测的网址。

hostReach = [Reachability reachabilityWithHostName:@"http://blog.sina.com.cn/u/2526279194"];

//开始监测

[hostReach startNotifier];

self.window.backgroundColor = [UIColor whiteColor];

[self.window makeKeyAndVisible];

return YES;

}

#pragma mark - 监测网络情况,当网络发生改变时会调用

- (void)reachabilityChanged:(NSNotification *)note {

Reachability* curReach = [note object];

NSParameterAssert([curReach isKindOfClass: [Reachability class]]);

NetworkStatus status = [curReach currentReachabilityStatus];

if (status == NotReachable) {

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil

message:@"NotReachable"

delegate:nil

cancelButtonTitle:@"YES" otherButtonTitles:nil];

[alert show];

alert = nil;

}

}

以上是关于使用Reachability实时监测网络连通性的主要内容,如果未能解决你的问题,请参考以下文章

Reachability from the Capital CodeForces - 999E (强连通)

实时脑波和眼动连通性分析 python-

Reachability from the Capital CodeForces - 999E(强连通分量 缩点 入度为0的点)

安保方案

Linux检测网络连通情况的命令?

网站监测平台集成金笛MC-880066