iOS网络监测

1.第一种效果

在文件中加入Reachability,MBProgressHUD库

在xxxxx.m中,加入头文件

#import"Reachability.h"

#import"MBProgressHUD.h"

在需要判断的地方,加上[selfisConnectionAvailable];

-(BOOL)isConnectionAvailable{

BOOLisExistenceNetwork=YES;

Reachability*reach=[ReachabilityreachabilityWithHostName:@"www.apple.com"];

switch([reachcurrentReachabilityStatus]){

caseNotReachable:

isExistenceNetwork=NO;

//NSLog(@"notReachable");

break;

caseReachableViaWiFi:

isExistenceNetwork=YES;

//NSLog(@"WIFI");

break;

caseReachableViaWWAN:

isExistenceNetwork=YES;

//NSLog(@"3G");

break;

}

if(!isExistenceNetwork){

MBProgressHUD*hud=[MBProgressHUDshowHUDAddedTo:self.viewanimated:YES];//<spanstyle="font-family:Arial,Helvetica,sans-serif;">MBProgressHUD为第三方库,不需要可以省略或使用AlertView</span>

hud.removeFromSuperViewOnHide=YES;

hud.mode=MBProgressHUDModeText;

hud.labelText=@"网络状态不佳,请检查网络";

hud.minSize=CGSizeMake(132.f,
60.0f);

[hudhide:YESafterDelay:3];

returnNO;

}

returnisExistenceNetwork;

}

//效果如图:

2.第二种效果

在项目中加入AFNetworking 、TSMessage 、HexColor库

在xxxx.m中引入头文件

#import"AFNetworking.h"

#import"TSMessage.h"

在监测网络的地方

//检查网络状态

[selfcheckNetworkStatus];

#pragmamark网络状态监测

-(void)checkNetworkStatus{

//tsmessage

//[TSMessagesetDefaultViewController:self.view];

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

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

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

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

[operationManager.reachabilityManagersetReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatusstatus){

switch(status){

caseAFNetworkReachabilityStatusReachableViaWWAN:

[TSMessageshowNotificationWithTitle:@"2G/3G/4G连接."type:TSMessageNotificationTypeWarning];

break;

caseAFNetworkReachabilityStatusReachableViaWiFi:

[TSMessageshowNotificationWithTitle:@"WiFi连接."type:TSMessageNotificationTypeSuccess];

break;

caseAFNetworkReachabilityStatusNotReachable:

[TSMessageshowNotificationWithTitle:@"断网了...,请检查你的网络是否连接!"type:TSMessageNotificationTypeError];

break;

}

}];

//开始监控

[operationManager.reachabilityManagerstartMonitoring];

}

效果图如下:

时间: 2024-12-14 07:50:25

iOS网络监测的相关文章

iOS 网络监测

iOS网络监测,监测单个页面写在ViewController里,监测全部写在AppDelegate中,而且不用终止 - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. //根据主机名判断网络是否连接 self.reach = [Reachability reachabilityWithHostName:@"www.ba

iOS网络监测方法

方法一(官方): Reachability ================================================================================ 框架地址:https://developer.apple.com/library/ios/samplecode/Reachability/Reachability.zip 使用方法 1>  添加一个联网状态监听对象 @property (nonatomic, strong) Reachabil

iOS 网络监测(转)

以下苹果开发网络编程知识由 CocoaChina 会员 “cocoa_yang” 总结,希望能为苹果开发新手梳理知识脉络,节省入门时间.一:确认网络环境3G/WIFI 1. 添加源文件和framework         开发Web等网络应用程序的时候,需要确认网络环境,连接情况等信息.如果没有处理它们,是不会通过Apple的审查的.    Apple 的 例程 Reachability 中介绍了取得/检测网络状态的方法.要在应用程序程序中使用Reachability,首先要完成如下两部:   

iOS开发——网络编程Swift篇&amp;(一)网络监测

网络监测 1 enum ReachabilityType { 2 case WWAN, 3 WiFi, 4 NotConnected 5 } 6 7 public class Reachability { 8 9 /** 10 :see: Original post - http://www.chrisdanielson.com/2009/07/22/iphone-network-connectivity-test-example/ 11 */ 12 class func isConnected

iOS网络编程(7) 第三方开源库-----&gt;AFNetworking

AFNetworking是一个为 iOS 和 Mac OSX 制作的令人愉快的网络库,它建立在URL 装载系统框架的顶层,内置在Cocoa里,扩展了强有力的高级网络抽象.它的模块架构被良好的设计,拥有丰富的功能,因此,使用起来,必定赏心悦目. @原文链接https://github.com/AFNetworking/AFNetworking,我在此基础上了点配置修改 @介绍 1.支持HTTP请求和基于REST的网络服务(包括GET.POST. PUT.DELETE等) 2.支持ARC 3.要求i

IOS网络开发概述

概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博.微信等,这些应用本身可能采用iOS开发,但是所有的数据支撑都是基于后台网络服务器的.如今,网络编程越来越普遍,孤立的应用通常是没有生命力的.今天就会给大家介绍这部分内容: Web请求和响应 使用代理方法 简化请求方法 图片缓存 扩展--文件分段下载 扩展--文件上传 NSURLSession 数据请求 文件上传 文件下载 会话 UIWebView 浏览器实现 UIWebView与页面交互 网络状态 目 录 Web请求和响应 使用代理

ios网络开发

概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博.微信等,这些应用本身可能采用iOS开发,但是所有的数据支撑都是基于后台网络服务器的.如今,网络编程越来越普遍,孤立的应用通常是没有生命力的.今天就会给大家介绍这部分内容: Web请求和响应 使用代理方法 简化请求方法 图片缓存 扩展--文件分段下载 扩展--文件上传 NSURLSession 数据请求 文件上传 文件下载 会话 UIWebView 浏览器实现 UIWebView与页面交互 网络状态 目 录 Web请求和响应 使用代理

linux的网络监测工具

linux的性能网络监测工具(iostat/sar/mpstat)需要安装sysstat这个包. 工具一.iftop(查看网络带宽情,(必须从epel源安装) 1)  iftop需要的依赖包如下: flex byacc  libpcap ncurses ncurses-devel libpcap-devel 2) 下面是维基百科上的描述: iftop monitors to network traffic(网络流量) and displays a table of current bandwid

iOS 网络错误-分类

在进行网络数据交换的时候总是遇到各种各样的错误. 这些网络错误是来自client还是server. 我们来梳理一下: 我们将错误分为三个大类 操作系统错误 http请求错误 应用错误 1.操作系统错误是因为数据包没有到达预定目标导致的,造成原因可能有: 没有网络--没有连接网络 无法路由到目标主机--主要是因为目标主机可能位于隔离网络或者处于离线状态.导致的. 没有应用监听目标port--请求到达目标主机后数据包会发送到指定的port号.假设server没有监听这个port号或者是有太多的请求在