zoukankan      html  css  js  c++  java
  • 关于网络状态监听实时,创建单例网络监测(非实时)

    #pragma mark 网络状态监测

    -(void)checkNetworkStatus{

        //创建一个用于测试的url

        NSURL *url=[NSURL URLWithString:@"http://www.baidu.com"];

        AFHTTPRequestOperationManager *operationManager=[[AFHTTPRequestOperationManager alloc]initWithBaseURL:url];

        //根据不同的网络状态改变去做相应处理

        [operationManager.reachabilityManager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {

            switch (status) {

                case AFNetworkReachabilityStatusReachableViaWWAN:

                    [self alert:@"2G/3G/4G Connection."];

                    break;

                case AFNetworkReachabilityStatusReachableViaWiFi:

                    [self alert:@"WiFi Connection."];

                    break;

                case AFNetworkReachabilityStatusNotReachable:

                    [self alert:@"Network not found."];

                    break;

                    

                default:

                    [self alert:@"Unknown."];

                    break;

            }

        }];

        

        //开始监控

        [operationManager.reachabilityManager startMonitoring];

    }

    -(void)checkNetworkStatus{

        //创建一个用于测试的url

        NSURL *url=[NSURL URLWithString:@"http://www.apple.com"];

        AFHTTPSessionManager * operationManager=[[AFHTTPSessionManager alloc]initWithBaseURL:url];

        

        //根据不同的网络状态改变去做相应处理

        [operationManager.reachabilityManager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {

            switch (status) {

                case AFNetworkReachabilityStatusReachableViaWWAN:

    //                [self alert:@"2G/3G/4G Connection."];

                    [SVProgressHUD showSuccessWithStatus:@"2G/3G/4G Connection."];

                    

    //                DNLog(@"2G/3G/4G Connection.");

                    break;

                case AFNetworkReachabilityStatusReachableViaWiFi:

                    [SVProgressHUD showSuccessWithStatus:@"WiFi Connection."];

                    

    //                DNLog(@"WiFi Connection.");

                    

                    break;

                case AFNetworkReachabilityStatusNotReachable:

                    [SVProgressHUD showErrorWithStatus:@"Network not found."];

                    

    //                DNLog(@"Network not found.");

                   

                    break;

                    

                default:

                    [SVProgressHUD showErrorWithStatus:@"Unknown."];

                    

    //                DNLog(@"Unknown.");

                  

                    break;

            }

        }];

        

        //开始监控

        [operationManager.reachabilityManager startMonitoring];

    }

    /**************** 检测网络状态,并返回无网络状太****************/

    要导入头文件

    + (BOOL)netWorkStateFalse {

        

    //     Reachability* reach = [Reachability reachabilityWithHostname:@"www.baidu.com"];

    //     [reach startNotifier];

        return ([[Reachability reachabilityForInternetConnection] currentReachabilityStatus] == NotReachable);

    }

  • 相关阅读:
    Unix系统编程()进程和程序
    java保存动态代理生成的类的class文件
    Hibernate 查询sql结果行数、查询列表的几种方法
    JVM学习--内存分配策略(持续更新)
    JVM学习--开启应用的gc日志功能
    JVM垃圾收集器组合--各种组合对应的虚拟机参数实践
    持续集成环境--Tomcat热部署导致线程泄漏
    监控redis服务器执行的命令--类似于tomcat的local-access.log
    centos7搭建nexus maven私服(二)
    centos7搭建nexus maven私服
  • 原文地址:https://www.cnblogs.com/soulDn/p/5336600.html
Copyright © 2011-2022 走看看