网络实时检测

来源:互联网 发布:java动态方法 编辑:程序博客网 时间:2024/05/18 16:15

网络实时检测,需用到Reachability,
ios程序需要用到网络检测,有些程序是刚启动时检测一次,而有些则从头到尾检测网络状态。
Reachability *reachability;

//处理连接改变后的情况 //对连接改变做出响应的处理动作。
- (void) updateInterfaceWithReachability: (Reachability*) curReach
{
NetworkStatus status = [curReach currentReachabilityStatus];

if(status ==NotReachable) {    UIAlertView*alertView = [[UIAlertView alloc]initWithTitle:@"温馨提示"                                                              message:@"网络连接失败,请检查网络"

NotReachable, // 不可到达
ReachableViaWiFi, // 通过WiFi可到达
ReachableViaWWAN // 通过无线广域网可到达(WWAN,即Wireless Wide Area Network,无线广域网。)

                                                     delegate:nil                                            cancelButtonTitle:@"确定"                                            otherButtonTitles:nil];    [alertView show];    [alertView release];}else{    NSLog(@"connect with the internet successfully");}

}

// 连接改变
- (void) reachabilityChanged: (NSNotification* )note
{
Reachability* curReach = [note object];
NSParameterAssert([curReach isKindOfClass: [Reachability class]]);
[self updateInterfaceWithReachability: curReach];
}

-(void)startNotificationNetwork{
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reachabilityChanged:) name:kReachabilityChangedNotification object:nil];
reachability=[[Reachability reachabilityWithHostName:@”www.baidu.com”] retain];
[reachability startNotifier];
}

只需在AppDelegate中调用startNotificationNetwork这个方法即可,如[self startNotificationNetwork];

参考:
http://www.cnblogs.com/SnailFish/archive/2012/09/18/SCNetworkReachability.html

0 0
原创粉丝点击