zoukankan      html  css  js  c++  java
  • IOS开发之网络编程开源类 Reachability应用

    先看Reachability.h发现

    #import <Foundation/Foundation.h>

    #import <SystemConfiguration/SystemConfiguration.h>

    #import <netinet/in.h>

    所以如果我们在项目中需要用到此类的话,需要引入SystemConfiguration.framework。

    此类在ios网络开发中可以确认判断网络环境,连接情况(无网络连接,3G,WIFI,GPRS)


    enum {   // DDG NetworkStatus Constant Names.

    kNotReachable = 0, // Apple's code depends upon 'NotReachable' being the same value as 'NO'.

    kReachableViaWWAN, // Switched order from Apple's enum. WWAN is active before WiFi.

    kReachableViaWiFi

     

    };

    定义三种网络类型:

    一:kNotReachable                    无网络连接

    二:kReachableViaWWAN       使用GPRS或者3G网络连接

    三:kReachableViaWiFi            使用WIFI连接

    我在项目中用下面的语句判断是否存在网络连接

            BOOL reachable = [[ReachabilityreachabilityForInternetConnection] isReachable];

                if (!reachable) {

                    UIAlertView *alertView = [[[UIAlertView alloc] initWithTitle:@"该功能需要连接网络才能使用,请检查您的网络连接状态" message:nil delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil] autorelease];

                    [alertView show];

                    return;

                }

    当有网络请求的时候,类中方法可以返回目前的网络连接状态

    例如:Reachable *reachable = [Reachable   reachabilityWithHostName:@"http://blog.csdn.net"];

    之后我们应用

    // These are the status tests.

    - (NetworkStatus) currentReachabilityStatus;   返回网络连接状态

     switch(  [reachable currentReachabilityStatus ] ) {

    /* [reachable currentReachabilityStatus ]包含三个值

     

    一:kNotReachable                    无网络连接

    二:kReachableViaWWAN       使用GPRS或者3G网络连接

    三:kReachableViaWiFi            使用WIFI连接 */

     

    }


  • 相关阅读:
    linux 配置ssh免密码登陆本机
    Java连接mysql数据库并插入中文数据显示乱码
    新浪微博热门评论爬虫采集
    新浪微博热门评论抽取规则
    【MySql】Java 批量插入数据库addBatch
    算法设计题4.3 等差数列
    PHP setcookie() 函数
    Linux下用于查看系统当前登录用户信息 w命令
    Ubuntu 登录锐捷 网卡被禁用 网口灯不亮解决
    将 VMware 最小化到系统托盘
  • 原文地址:https://www.cnblogs.com/luluping/p/3752786.html
Copyright © 2011-2022 走看看