zoukankan      html  css  js  c++  java
  • 检测网络状态

    在网络应用中,需要对用户设备的网络状态进行实时监控,目的是

    让用户了解自己的网络状态,防止一些误会(比如怪应用不好)

    根据用户的网络状态进行智能处理,节省用户流量,提高用户体验

    WiFi3G网络:自动下载高清图片

    低速网络:只下载缩略图

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

    1.使用AFNetworking框架

    - (void)afnMonitoring {
        AFNetworkReachabilityManager *manager = [AFNetworkReachabilityManager sharedManager];
        
        
        [manager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
            NSLog(@"------当前网络状态%zd",status);
        }];
        
        [manager startMonitoring];
    }
    typedef NS_ENUM(NSInteger, AFNetworkReachabilityStatus) {
        AFNetworkReachabilityStatusUnknown          = -1,//未知网络
        AFNetworkReachabilityStatusNotReachable     = 0,//没有网络
        AFNetworkReachabilityStatusReachableViaWWAN = 1,//蜂窝网络
        AFNetworkReachabilityStatusReachableViaWiFi = 2,//WiFi网络
    }

    2.使用苹果官方的Reachability

    下载地址:

     
    - (void)getNetworkStatus {
        if([Reachability reachabilityForLocalWiFi].currentReachabilityStatus != NotReachable) {
            NSLog(@"是WiFi网络");
        }else if([Reachability reachabilityForInternetConnection].currentReachabilityStatus != NotReachable) {
            NSLog(@"是蜂窝网络");
        }else {
            NSLog(@"网络故障");
        }
    }

    长期监控网络的状态

    - (void)applyMonitoring {
        //监听通知
        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(getNetworkStatus) name:kReachabilityChangedNotification object:nil];
        
        //开始监控网络
        self.reachability = [Reachability reachabilityForInternetConnection];
        [self.reachability startNotifier];
    }

    取消任务

    - (void)dealloc
    {
        [self.netReachability stopNotifier];
        [[NSNotificationCenter defaultCenter] removeObserver:self name:kReachabilityChangedNotification object:nil];
    }
     
     
     
     
  • 相关阅读:
    CSS的margin塌陷
    css white-space
    float的理解
    html标签元素分类
    Sublime text3使用技巧及快捷键
    JSON
    js原生Ajax的封装与使用
    XMLHttpRequest基础知识
    HTTP的一些基础知识
    创建兼容的XHR对象
  • 原文地址:https://www.cnblogs.com/langji/p/5380056.html
Copyright © 2011-2022 走看看