首页 > 代码库 > 监听网络

监听网络

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];        //开启网络状况的监听    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reachabilityChanged:) name:kReachabilityChangedNotification object:nil];        self.hostReach = [Reachability reachabilityWithHostName:@"www.baidu.com"] ;    [self.hostReach startNotifier];  //开始监听,会启动一个run loop    self.window.rootViewController = self.tabBarController;    [self.window makeKeyAndVisible];    return YES;}//网络链接改变时会调用的方法-(void)reachabilityChanged:(NSNotification *)note{    Reachability *currReach = [note object];    NSParameterAssert([currReach isKindOfClass:[Reachability class]]);        //对连接改变做出响应处理动作    NetworkStatus status = [currReach currentReachabilityStatus];    //如果没有连接到网络就弹出提醒实况    self.isReachable = YES;    if(status == NotReachable)    {        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"网络连接异常" message:@"暂无法访问书城信息" delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil];        [alert show];        [alert release];        self.isReachable = NO;    }    else    {        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"网络连接信息" message:@"网络连接正常" delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil];        [alert show];        [alert release];        self.isReachable = YES;    }}

 

    AppDelegate *appDlg = (AppDelegate *)[[UIApplication sharedApplication] delegate];    if(appDlg.isReachable)    {        NSLog(@"网络已连接");//执行网络正常时的代码    }    else    {        NSLog(@"网络连接异常");//执行网络异常时的代码    }