ios 测试网络是否连接

转自:http://blog.csdn.net/lwq421336220/article/details/16982857

- (BOOL) connectedToNetwork

{

//创建零地址,0.0.0.0的地址表示查询本机的网络连接状态

structsockaddr_in zeroAddress;

bzero(&zeroAddress,sizeof(zeroAddress));

zeroAddress.sin_len =sizeof(zeroAddress);

zeroAddress.sin_family =AF_INET;

SCNetworkReachabilityRef defaultRouteReachability =SCNetworkReachabilityCreateWithAddress(NULL, (structsockaddr *)&zeroAddress);

SCNetworkReachabilityFlags flags;

BOOL didRetrieveFlags =SCNetworkReachabilityGetFlags(defaultRouteReachability, &flags);

CFRelease(defaultRouteReachability);

if (!didRetrieveFlags)

{

printf("Error. Could not recover network reachability flagsn");

returnNO;

}

BOOL isReachable = ((flags &kSCNetworkFlagsReachable) != 0);

BOOL needsConnection = ((flags &kSCNetworkFlagsConnectionRequired) != 0);

return (isReachable && !needsConnection) ?YES : NO;

}

使用的时候:

if ([selfconnectedToNetwork]) {

}else{

UIAlertView *alert=[[UIAlertViewalloc]initWithTitle:@"提示"
message:@"网络连接失败,请查看网络连接。"
delegate:self cancelButtonTitle:@"我知道了" otherButtonTitles:nil,nil];

[alertshow];

}

时间: 2024-10-08 11:13:02

ios 测试网络是否连接的相关文章

iOS 判断网络是否连接

1 //判断网络是否连接 2 + (BOOL) connectedToNetwork 3 { 4 //创建零地址,0.0.0.0的地址表示查询本机的网络连接状态 5 struct sockaddr_in zeroAddress; //struct用来向方法中传递复杂的参数(把参数当作对象,这样便于扩展) 6 bzero(&zeroAddress, sizeof(zeroAddress)); 7 zeroAddress.sin_len = sizeof(zeroAddress); 8 zeroAd

ios 连接www.baidu.com测试网络

/** * 检测是否能上网 * * @return YES说明网络已经连接:NO说明没有网络连接 */- (BOOL) isConnectionAvailable{ SCNetworkReachabilityFlags flags; BOOL receivedFlags; SCNetworkReachabilityRef reachability = SCNetworkReachabilityCreateWithName(CFAllocatorGetDefault(), [@"www.baidu

java测试网络连接是否成功并设置超时时间

/** * 获取RMI接口状态 * * @return "0":服务正常,"1": 连接报错,"2":连接超时 */ @Override public String getRMIJkzt() { final ExecutorService es = Executors.newFixedThreadPool(1); Callable<String> callable = new Callable<String>() {//使

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

HttpConnectionUtil工具类 测试网络连接和测试是否属于某网段的方法

/** * 测试网络是否能连接通畅 * * @param serviceURL * @return */ public static boolean isConnection(String serviceURL) { try { URL url = new URL(serviceURL); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setConnectTimeout(2000);// 2秒则超时

iOS 对比网络组件:AFNetworking 与 ASIHTTPRequest

在开发iOS应用过程中,如何高效的与服务端API进行数据交换,是一个常见问题.一般开发者都会选择一个第三方的网络组件作为服务,以提高开发效率和稳定性.这些组件把复杂的网络底层操作封装成友好的类和方法,并且加入异常处理等. 那么,大家最常用的组件是什么?这些组件是如何提升开发效率和稳定性的?哪一款组件适合自己,是 AFNetworking(AFN)还是 ASIHTTPRequest(ASI)?几乎每一个iOS互联网应用开发者都会面对这样的选择题,要从这两个最常用的组件里选出一个好的还真不是那么容易

Java测试网络连通性

第一种方式:利用java运行时: Java代码   /** * test network * @param ip */ private void getNetworkState(String ip) { Runtime runtime = Runtime.getRuntime(); try { log.info("=================正在测试网络连通性ip:"+ip); Process process = runtime.exec("ping " +i

iOS开发网络篇—搭建本地服务器

iOS开发网络篇—搭建本地服务器 一.简单说明 说明:提前下载好相关软件,且安装目录最好安装在全英文路径下.如果路径有中文名,那么可能会出现一些莫名其妙的问题. 提示:提前准备好的软件 apache-tomcat-6.0.41.tar eclipse-jee-kepler-SR2-macosx-cocoa-x86_64.tar.gz jdk-8u5-macosx-x64.dmg 二.安装和配置本地服务器环境(java)步骤: (1)在文档路径下,新建一个文件夹(NetWord),解压eclips

iOS开发网络篇—网络编程基础

iOS开发网络篇—网络编程基础 一.为什么要学习网络编程 1.简单说明 在移动互联网时代,移动应用的特征有: (1)几乎所有应用都需要用到网络,比如QQ.微博.网易新闻.优酷.百度地图 (2)只有通过网络跟外界进行数据交互.数据更新,应用才能保持新鲜.活力 (3)如果没有了网络,也就缺少了数据变化,无论外观多么华丽,终将变成一潭死水 移动网络应用 = 良好的UI + 良好的用户体验 + 实时更新的数据 新闻:网易新闻.新浪新闻.搜狐新闻.腾讯新闻 视频:优酷.百度视频.搜狐视频.爱奇艺视频 音乐