zoukankan      html  css  js  c++  java
  • Reachability(判断网络是否连接)

    类似于一个网络状况的探针。
      [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(reachabilityChanged:) name: kReachabilityChangedNotification object: nil];
        
        hostReach = [[Reachability reachabilityWithHostName: @"hubj.cnblogs.com"] retain];
        [hostReach startNotifier];
        
        wifiReach=[[Reachability reachabilityForLocalWiFi]retain];
        [wifiReach startNotifier];
     
    - (void)reachabilityChanged: (NSNotification* )note {
        Reachability* curReach = [note object];
        NSParameterAssert([curReach isKindOfClass: [Reachability class]]);
        
        NetworkStatus netStatus = [curReach currentReachabilityStatus];
        
        switch (netStatus)
        {
            case NotReachable:
            {
                NSLog(@"Access Not Available");
                break;
            }
                
            case ReachableViaWWAN:
            {
                NSLog(@"Reachable WWAN");
                break;
            }
            case ReachableViaWiFi:
            {
                NSLog(@"Reachable WiFi");
                break;
            }
        }
    
    }
     
    判断网络是否连接
    /***
    * 此函数用来判断是否网络连接服务器正常
    * 需要导入Reachability类
    */
    + (BOOL)isExistenceNetwork
    {
        BOOL isExistenceNetwork;
        Reachability *reachability = [Reachability reachabilityWithHostName:@""];  // 测试服务器状态
        
         switch([reachability currentReachabilityStatus]) {
                case NotReachable:
                      isExistenceNetwork = FALSE;
                      break;
                 case ReachableViaWWAN:
                       isExistenceNetwork = TRUE;
                       break;
                  case ReachableViaWiFi:
                        isExistenceNetwork = TRUE;
                        break;
         }
         return  isExistenceNetwork;
    }
     
    实时通知网络状况
    /*
    * 在应用委托的方法didFinishLaunchingWithOptions中添加
    */
    
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reachabilityChanged:) name:kReachabilityChangedNotification object:nil];
    reachability = [[Reachability reachabilityWithHostName:@"www.baidu.com"] retain];
    [reachability startNotifier];
    ........
    return YES;
    
    /**
    *此函数通过判断联网方式,通知给用户
    */
    - (void)reachabilityChanged:(NSNotification *)notification
    {
          Reachability *curReachability = [notification object];
          NSParameterAssert([curReachability isKindOfClass:[Reachability class]]);
          NetworkStatus curStatus = [curReachability currentReachabilityStatus];
          if(curStatus == NotReachable) {
              [DOIN_Util logFax:@"连接失败"];
          }
    }
  • 相关阅读:
    利用qt打开一张图片并转成灰度矩阵
    适配手机端浏览器
    ps常用快捷键(供自己学习查看)
    用选框工具画圆角矩形
    ps制作有背景图片的字体
    所有iOS 设备的屏幕尺寸
    九宫格有规律高亮滚动效果
    移动端点击事件全攻略
    移动端ios升级到11及以上时,手机弹框输入光标出现错位问题
    linux下截取整个网页
  • 原文地址:https://www.cnblogs.com/langtianya/p/4876014.html
Copyright © 2011-2022 走看看