zoukankan      html  css  js  c++  java
  • iOS开发——Reachability和AFNetworking判断网络连接状态

      一、Reachability
    // 监听网络状态改变的通知
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(networkStateChange) name:kReachabilityChangedNotification object:nil];
    
    // 创建Reachability
    self.conn = [Reachability reachabilityForInternetConnection];
    // 开始监控网络(一旦网络状态发生改变, 就会发出通知kReachabilityChangedNotification)
    [self.conn startNotifier];
    
    // 处理网络状态改变
    - (void)networkStateChange
    {
        // 1.检测wifi状态
        Reachability *wifi = [Reachability reachabilityForLocalWiFi];
        
        // 2.检测手机是否能上网络(WIFI3G2.5G)
        Reachability *conn = [Reachability reachabilityForInternetConnection];
        
        // 3.判断网络状态
        if ([wifi currentReachabilityStatus] != NotReachable) { 
         // 有wifi NSLog(@"有wifi"); } else if ([conn currentReachabilityStatus] != NotReachable) {
         // 没有使用wifi, 使用手机自带网络进行上网 NSLog(@"使用手机自带网络进行上网"); } else {
         // 没有网络 NSLog(@"没有网络"); } }

      二、AFNetworking // 1.获得网络监控的管理者 AFNetworkReachabilityManager *manager = [AFNetworkReachabilityManager sharedManager]; // 2.设置网络状态改变后的处理 [manager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
      // 当网络状态改变了, 就会调用这个block
      switch (status) {
        case AFNetworkReachabilityStatusUnknown:
          // 未知网络
          NSLog(@"未知网络");
          break;
        case AFNetworkReachabilityStatusNotReachable:
          // 没有网络(断网)
          NSLog(@"没有网络(断网)");
          break;
        case AFNetworkReachabilityStatusReachableViaWWAN:
          // 手机自带网络
          NSLog(@"手机自带网络");
          break;
        case AFNetworkReachabilityStatusReachableViaWiFi:
          // WIFI
          NSLog(@"WIFI");
          break;
      }
    }];

    // 3.开始监控
    [manager startMonitoring];
  • 相关阅读:
    kafka的概念
    java的多线程:java安全问题产生的原因与JMM的关系
    java的多线程:线程安全问题
    web自动化之键盘操作
    获取cookie里面的sessionid
    Python连接mysql数据库
    Python 发送Email
    Python日志模块
    openxl模块从excel里面读取数据
    Python读取配置文件
  • 原文地址:https://www.cnblogs.com/yyt-hehe-yyt/p/5288820.html
Copyright © 2011-2022 走看看