网络监测,监测互联网状态【www.bifa365.com】

iOS编制程序-互连网监测

 

在网络选择中,必要对用户设备的互联网状态进行实时监察和控制,有五个指标:

(1)让用户领会自个儿的网络状态,制止某个误解(比方怪应用无能)

(2)根据用户的网络状态举行智能管理,节省用户流量,升高用户体验

  WIFI G互连网:自动下载高清图片

  低速网络:只下载缩略图

  未有网络:只显示离线的缓存数据

苹果官方提供了七个叫Reachability的身先士卒程序,便于开辟者检验网络状态

www.Bkjia.com

 

二、监测网络状态

Reachability的接纳手续

足够框架SystemConfiguration.framework

www.bifa365.com 1

增多源代码

 www.bifa365.com 2

满含头文件

#import Reachability.h

#import QYViewController.h

#import Reachability.h

@interface QYViewController ()

@property (nonatomic, strong) Reachability *conn;

@end

 

@implementation QYViewController

 

– (void)viewDidLoad

{

[super viewDidLoad];

// Do any additional setup after loading the view, typically from a nib.

[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(networkStateChange)
name:kReachabilityChangedNotification object:nil];

self.conn = [Reachability reachabilityForInternetConnection];

[self.conn startNotifier];

 

}

 

– (void)dealloc

{

[self.conn stopNotifier];

[[NSNotificationCenter defaultCenter] removeObserver:self];

}

 

– (void)networkStateChange

{

[self checkNetworkState];

}

– (void)checkNetworkState

{

// 1.检测wifi状态

Reachability *wifi = [Reachability reachabilityForLocalWiFi];

// 2.检查测试手提式有线电话机是或不是能上互联网(WIFI G .5G)

Reachability *conn = [Reachability
reachabilityForInternetConnection];

 

// 3.肯定网络状态

if ([wifi currentReachabilityStatus] != NotReachable) { // 有wifi

NSLog(@有wifi);

 

} else if ([conn currentReachabilityStatus] != NotReachable) { //
未有采取wifi, 使用手提式有线电话机自带互连网展开上网

NSLog(@使用手提式有线电话机自带网络张开上网);

 

} else { // 未有网络

NSLog(@没有互联网);

}

}

在网络使用中,需求对用户设备的互连网状态实行实时监察和控制,有三个指标:
(1)让用户精晓自身的互联网状态,防止部分误会…

一、说明

一、说明

在互联网利用中,需求对用户设备的互连网状态实行实时监督,有多少个指标:

在网络采纳中,必要对用户设备的互连网状态实行实时监督,有多个指标:

(1)让用户精晓本人的网络状态,制止有些误解(比方怪应用无能)

(1)让用户明白本人的互联网状态,幸免某个误会(比如怪应用无能)

(2)根据用户的网络状态进行智能管理,节省用户流量,提升用户体验

(2)根据用户的网络状态举行智能管理,节省用户流量,升高用户体验

WIFI\3G网络:自动下载高清图片

WIFI\3G网络:自动下载高清图片

低速互联网:只下载缩略图

低速互连网:只下载缩略图

从未有过互连网:只突显离线的缓存数据

并未有网络:只彰显离线的缓存数据

苹果官方提供了一个叫Reachability的自己要作为范例遵守规则程序,便于开拓者检查测量试验互联网状态

苹果官方提供了叁个叫Reachability的亲自过问程序,便于开荒者检查评定网络状态

https://developer.apple.com/library/ios/samplecode/Reachability/Reachability.zip

https://developer.apple.com/library/ios/samplecode/Reachability/Reachability.zip

二、监测互连网状态

二、监测网络状态

Reachability的使用手续

Reachability的利用手续

累加框架SystemConfiguration.framework

增进框架SystemConfiguration.framework

www.bifa365.com 3

增加源代码

加多源代码

含有头文件

www.bifa365.com 4

import “Reachability.h”

代码示例:

复制代码
1 #import “YYViewController.h”
2 #import “Reachability.h”
3
4 @interface YYViewController ()
5 @property (nonatomic, strong) Reachability *conn;
6 @end
7
8 @implementation YYViewController
9
10 – (void)viewDidLoad
11 {
12 [super viewDidLoad];
13
14 [[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(networkStateChange)
name:kReachabilityChangedNotification object:nil];
15 self.conn = [Reachability reachabilityForInternetConnection];
16 [self.conn startNotifier];
17 }
18
19 – (void)dealloc
20 {
21 [self.conn stopNotifier];
22 [[NSNotificationCenter defaultCenter] removeObserver:self];
23 }
24
25 – (void)networkStateChange
26 {
27 [self checkNetworkState];
28 }
29
30 – (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
31 {
32
33 }
34
35 – (void)checkNetworkState
36 {
37 // 1.检测wifi状态
38 Reachability *wifi = [Reachability reachabilityForLocalWiFi];
39
40 // 2.检查测量检验手提式有线电话机是还是不是能上网络(WIFI\3G\2.5G)
41 Reachability *conn = [Reachability
reachabilityForInternetConnection];
42
43 // 3.判断互联网状态
44 if ([wifi currentReachabilityStatus] != NotReachable) { // 有wifi
45 NSLog(@”有wifi”);
46
47 } else if ([conn currentReachabilityStatus] != NotReachable) { //
未有行使wifi, 使用手提式有线电话机自带网络张开上网
48 NSLog(@”使用手提式有线电话机自带互连网张开上网”);
49
50 } else { // 未有互连网
51
52 NSLog(@”未有互联网”);
53 }
54 }
55 @end
56
57 // 用WIFI
58 // [wifi currentReachabilityStatus] != NotReachable
59 // [conn currentReachabilityStatus] != NotReachable
60
61 // 未有用WIFI, 只用了手机互联网
62 // [wifi currentReachabilityStatus] == NotReachable
63 // [conn currentReachabilityStatus] != NotReachable
64
65 // 未有网络
66 // [wifi currentReachabilityStatus] == NotReachable
67 // [conn currentReachabilityStatus] == NotReachable

包蕴头文件

#import “Reachability.h”

代码示例:

😉

www.bifa365.com 5

#import “YYViewController.h”

#import “Reachability.h”

@interface YYViewController ()

@property (nonatomic, strong) Reachability *conn;

@end

@implementation YYViewController

– (void)viewDidLoad

{

[super viewDidLoad];

[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(networkStateChange)
name:kReachabilityChangedNotification object:nil];

self.conn = [Reachability reachabilityForInternetConnection];

[self.conn startNotifier];

}

– (void)dealloc

{

[self.conn stopNotifier];

[[NSNotificationCenter defaultCenter] removeObserver:self];

}

– (void)networkStateChange

{

[self checkNetworkState];

}

– (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event

{

}

– (void)checkNetworkState

{

// 1.检测wifi状态

Reachability *wifi = [Reachability reachabilityForLocalWiFi];

// 2.检查测量检验手提式有线电话机是或不是能上网络(WIFI\3G\2.5G)

Reachability *conn = [Reachability
reachabilityForInternetConnection];

// 3.推断互连网状态

if ([wifi currentReachabilityStatus] != NotReachable) { // 有wifi

NSLog(@”有wifi”);

} else if ([conn currentReachabilityStatus] != NotReachable) { //
未有行使wifi, 使用手提式有线电话机自带网络开始展览上网

NSLog(@”使用手提式有线电话机自带互联网开始展览上网”);

} else { // 未有互联网

NSLog(@”未有网络”);

}

}

@end

// 用WIFI

// [wifi currentReachabilityStatus] != NotReachable

// [conn currentReachabilityStatus] != NotReachable

// 未有用WIFI, 只用了手提式有线电话机网络

// [wifi currentReachabilityStatus] == NotReachable

// [conn currentReachabilityStatus] != NotReachable

// 未有互联网

// [wifi currentReachabilityStatus] == NotReachable

// [conn currentReachabilityStatus] == NotReachable

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*
*
Website