关于网络状态监听实时,创建单例网络监测(非实时)
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实时监测网络连接状态及网络是否可用,类似微信的功能。
SwiftUI 利用 Combine 实时监听网络服务器在线状态的极简实现