关于网络状态监听实时,创建单例网络监测(非实时)

Posted SoulDu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于网络状态监听实时,创建单例网络监测(非实时)相关的知识,希望对你有一定的参考价值。

#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);

}

以上是关于关于网络状态监听实时,创建单例网络监测(非实时)的主要内容,如果未能解决你的问题,请参考以下文章

Android实时监测网络连接状态及网络是否可用,类似微信的功能。

vue实时监听网络状态是wifi还是4G

SwiftUI 利用 Combine 实时监听网络服务器在线状态的极简实现

SwiftUI 利用 Combine 实时监听网络服务器在线状态的极简实现

网络实时流量监测工具iftop

使用Reachability实时监测网络连通性