iOS使用Reachability实时检测网络连接状况

//在程序的启动处,开启通知

-
(BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

{

//.....

//开启网络状况的监听

[[NSNotificationCenter defaultCenter] addObserver:self

selector:@selector(reachabilityChanged:)

name: kReachabilityChangedNotification

object: nil];

hostReach =
[[Reachability reachabilityWithHostName:@"www.google.com"] retain];//可以以多种形式初始化

[hostReach startNotifier];
 //开始监听,会启动一个run loop

[self updateInterfaceWithReachability: hostReach];

//.....

}

// 连接改变

- (void) reachabilityChanged: (NSNotification*
)note

{

Reachability* curReach = [note object];

NSParameterAssert([curReach isKindOfClass:
[Reachability class]]);

[self updateInterfaceWithReachability:
curReach];

}

//处理连接改变后的情况

- (void) updateInterfaceWithReachability:
(Reachability*) curReach

{

//对连接改变做出响应的处理动作。

NetworkStatus status
= [curReach currentReachabilityStatus];

if (status == NotReachable) {
 //没有连接到网络就弹出提实况

UIAlertView *alert =
[[UIAlertView alloc] initWithTitle:@"My
App Name"

message:@"NotReachable"

delegate:nil

cancelButtonTitle:@"YES" otherButtonTitles:nil];

[alert show];

[alert release];

}

}

iOS使用Reachability实时检测网络连接状况,布布扣,bubuko.com

时间: 2024-12-17 22:52:52

iOS使用Reachability实时检测网络连接状况的相关文章

使用java检测网络连接状况

windows中可以通过在cmd中使用ping命令来检测网络连接状况,如下: 网络连接正常时: 网络未连接时: 在java中可以通过调用ping命令来判断网络是否连接正常: package module.system.common; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; /** * 判断网络连接

iOS开发-Reachability实时检测Wifi,2G/3G/4G/网络状态

最近遇到一个功能就是根据用户当前的网络状,用户未联网需要提示一下,如果是Wifi可以推荐一些图片新闻,如果是3G模式设置为无图的模式,获取网络状态比较简单,毕竟中国现在的流量还是一个比较贵的状态,哪天用户发现App消耗流量过多说不定就干掉了App.不过苹果的Reachability都解决了以上问题,使用起来也比较方便,具体的稍微简单分析一下. Reachability.h头文件代码: #import <Foundation/Foundation.h> #import <SystemCon

IOS检测网络连接状态(转)

IOS检测网络连接状态(转) 使用之前请从Apple网站下载示例:点此下载 然后将Reachability.h 和 Reachability.m 加到自己的项目中,并引用 SystemConfiguration.framework,就可以使用了. Reachability 中定义了3种网络状态: // the network state of the device for Reachability 1.5. typedef enum { NotReachable = 0, //无连接 Reach

常用三方,Reachability 检测网络连接

常用三方 Reachability 检 测网络连接 用来检查网络连接是否可用:包括WIFI和 WWAN(3G/EDGE/CDMA等)两种工作模式. 可以从Apple网站下载到: http://developer.apple.com/library/ios/#samplecode/Reachab ility/History/History.html#//apple_ref/doc/uid/DTS40007324-R evisionHistory-DontLinkElementID_1. 现在有更好

android检测网络连接状态示例讲解

网络的时候,并不是每次都能连接到网络,因此在程序启动中需要对网络的状态进行判断,如果没有网络则提醒用户进行设置 Android连接首先,要判断网络状态,需要有相应的权限,下面为权限代码(AndroidManifest.xml): 复制代码 代码如下: <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/><uses-permission android:name="a

检测网络连接状态

#import "AFNetworkReachabilityManager.h" - (BOOL)isNetWorkReachable{ __block CGRect rect = _nonNetworkLabel.frame; //这里的声明前面加__block,作用是在块里可以修改rect的值: AFNetworkReachabilityManager *afNetworkReachabilityManager = [AFNetworkReachabilityManager sha

c#检测网络连接(主要是局域网)

c#检测网络连接问题我没有看到好的方法,都是通过与外网(或者局域网服务器)传递信息检测的. 我看些下下来了 代码: private void button1_Click(object sender, EventArgs e) { string ip; ip = "10.1.148.1"; // string ip = "192.192.132.229"; // string strRst = CmdPing(ip); // MessageBox.Show(strRs

Reachability实时监控网络变化

Reachability是一种实时观察网络发生变化控件,如当你的手机处于WiFi情况下,他就会检测环境,当处于GPS的情况下改变环境,当处于无网络的情况下又是一种环境.下面我们看下关于Reachability的用法. 1.用到Reachability的情况下,首先引入SystemConfiguration: Reachability.h: #import <Foundation/Foundation.h>#import <SystemConfiguration/SystemConfigu

检测网络连接状态_转

1. 根据ifconfig中相应网口的RUNNING字段检查 int check_net(const char *eth) { int ret = 1; char buf[256]; FILE *fp; memset(buf, 0, 256); sprintf(buf, "ifconfig %s | grep 'RUNNING'", eth); fp = popen(buf, "r"); if(fp == NULL) { kprintf(KRELEASE, E_DU