zoukankan      html  css  js  c++  java
  • iOS网络监测方法

    方法一(官方):

    Reachability

    ================================================================================

    框架地址:https://developer.apple.com/library/ios/samplecode/Reachability/Reachability.zip


    使用方法


    1 添加一个联网状态监听对象

    @property (nonatomic, strong) Reachability *reach;


    2 实例化监听对象

    self.reach = [Reachability reachabilityWithHostName:@"www.baidu.com"];


    3 判断联网状态

    - (void)netwrokStatusChanged {

        switch (self.reach.currentReachabilityStatus) {

            case NotReachable:

                SJLog(@"没有联网");

                break;

            case ReachableViaWiFi:

                SJLog(@"通过Wi-Fi上网");

                break;

            case ReachableViaWWAN:

                SJLog(@"通过3G上网");

                break;

            default:

                break;

        }

    }


    4 利用通知中心实时监听联网状态

    [[NSNotificationCenter defaultCenter] addObserver:selfselector:@selector(netwrokStatusChanged) name:kReachabilityChangedNotification object:nil];

    [self.reach startNotifier];


    - (void)dealloc {

        // 注册指定的通知监听

        [[NSNotificationCenter defaultCenter] removeObserver:selfname:kReachabilityChangedNotification object:nil];

    }



    方法二(AFN):

        // 获得网络监控的管理者

        AFNetworkReachabilityManager *mgr = [AFNetworkReachabilityManager sharedManager];

        

        // 设置网络状态改变后的处理

        [mgr setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {

            

            switch (status) {

                case AFNetworkReachabilityStatusUnknown: // 未知网络

                    SJLog(@"未知网络");

                    break;

                    

                case AFNetworkReachabilityStatusNotReachable: // 没有网络(断网)

                    SJLog(@"未检到网络");

                    break;

                    

                case AFNetworkReachabilityStatusReachableViaWWAN: // 手机自带网络

                    SJLog(@"通过3G上网");

                    break;

                    

                case AFNetworkReachabilityStatusReachableViaWiFi: // WIFI

                    SJLog(@"通过Wi-Fi上网");

                    break;

            }

        }];

        

        // 开始监控

        [mgr startMonitoring];


  • 相关阅读:
    松软科技web课堂:SQLServer之ROUND() 函数
    松软科技web课堂:SQLServer之LEN() 函数
    接口工具比较
    记录EXCEL格式和TXT文本格式之间的互转
    Fiddler安装证书
    Nginx概述及安装配置
    YSLOW(一款实用的网站性能检测工具)
    通用测试用例大全
    Macaca环境配置及样例执行
    ADB命令
  • 原文地址:https://www.cnblogs.com/miaomiaoshen/p/5188622.html
Copyright © 2011-2022 走看看