您的位置:首页 > 理论基础 > 计算机网络

=简易实现=网络实时监控

2014-08-13 17:49 260 查看
添加第三方Reachability 加入需要添加Systemconfiguration.framework

#import"AppDelegate.h"
在didFinishLaunchingWithOptions中添加

/****************************************************/

//网络检测****************
[[NSNotificationCenter defaultCenter] addObserver:self  selector:@selector(reachabilityChanged:) name: kReachabilityChangedNotification object: nil];
hostReach = [Reachability reachabilityWithHostName:@"www.baidu.com"];
[hostReach startNotifier];

/****************************************************/


- (void)reachabilityChanged:(NSNotification*)note{
NSLog(@"==_==");
Reachability* curReach= [note object];
NSParameterAssert([curReach isKindOfClass: [Reachability class]]);
[self updateInterfaceWithReachability:curReach];
}
// 更新网络状态
- (void)updateInterfaceWithReachability: (Reachability*)curReach
{
//对连接改变做出响应的处理动作。

NetworkStatus status=[curReach currentReachabilityStatus];
NSUserDefaults * user =[NSUserDefaults standardUserDefaults];
if (status== NotReachable) { //没有连接到网络就弹出提实况
[user removeObjectForKey:@"network"];
[user setBool:NO forKey:@"network"];

[self showAlert:@"网络连接被断开"];
}else{
[user removeObjectForKey:@"network"];
[user setBool:YES forKey:@"network"];

[self showAlert:@"网络连接成功"];
}
NSLog(@"%@",[user objectForKey:@"network"]);

[[NSNotificationCenter defaultCenter]postNotificationName:@"network" object:user];
}

-(void)showAlert:(NSString *)message{
UIAlertView*alert= [[UIAlertView alloc] initWithTitle:message
message:nil delegate:nil
cancelButtonTitle:@"确定"otherButtonTitles:nil];
[alert show];
}


#import"ViewController.h"

在此viewDidLoad中添加注册通知

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(network:) name:@"network" object:nil];

}


-(void)network:(NSNotification *)note{
id obj = [note object];//获取到传递的对象
NSLog(@"---%@-----",[obj objectForKey:@"network"]);
BOOL isOpen = [[obj objectForKey:@"network"] intValue];
NSLog(@"%d",isOpen);
if (isOpen) {
NSLog(@"--有网络--");
}else{
NSLog(@"--无网络--");
}
}


最近学会的一个怎么实现网络实时监控的简易方法。欢迎大家能指出其中不恰当的地方。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: