网络监控

作者: zhazha | 来源:发表于2015-07-17 21:44 被阅读158次

本文的意义

  1. 利用苹果原生的类Reachability,实时监控网络的状态
  2. 利用框架AFNetworking实时监控网络状态

网络状态实时监控的目的

  • 让用户了解自己的网络状态,防止一些误会

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

  • WIFI\3G网络:自动下载高清图片

  • 低速网络:只下载缩略图

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

  • 苹果官方提供了一个叫Reachability的示例程序,便于开发者检测网络状态
    https://developer.apple.com/library/ios/samplecode/Reachability/Reachability.zip

利用苹果原生的类Reachability实现实时监控网络状态

Reachability的使用步骤

  • 添加框架SystemConfiguration.framework
  • 添加源代码
    - Reachability.h
    - Reachability.m
  • 包含头文件

实现代码如下:

- (void)appleMonitoring
{
    // 监听通知
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(getNetworkStatus) name:kReachabilityChangedNotification object:nil];

    // 开始监控网络
    self.reachability = [Reachability reachabilityForInternetConnection];
    [self.reachability startNotifier];
}

// 重写控制器的dealloc方法,当控制器销毁的时候移除通知
- (void)dealloc
{
    [[NSNotificationCenter defaultCenter] removeObserver:self];
    // 关闭监控
    [self.reachability stopNotifier];
    self.reachability = nil;
}

// 获取网络状态
- (void)getNetworkStatus
{
    // 判断当前网络是否是WiFi
    if ([Reachability reachabilityForLocalWiFi].currentReachabilityStatus != NotReachable) {
        NSLog(@"是wifi");

    // 判断当前网络是否是手机自带网络
    } else if ([Reachability reachabilityForInternetConnection].currentReachabilityStatus != NotReachable) {
        NSLog(@"是手机自带网络");
    } else {
        NSLog(@"网络有问题");
    }
}

利用流行框架AFNetworking实现实时监控网络状态

实现代码如下:

- (void)afnMonitoring
{
    // 开始网络监控
    AFNetworkReachabilityManager *mgr = [AFNetworkReachabilityManager sharedManager];


    [mgr setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
        NSLog(@"-----当前的网络状态---%zd", status);
    }];

    [mgr startMonitoring];

    // 拿到当前网络状态
    // mgr.networkReachabilityStatus;
}

相关文章

  • 远程视频监控的实现

    远程视频监控,也称远程网络监控,是指监控者不在监控摄像头或其他摄像采集设备周围,通过网络远距离查看现场监控视频的场...

  • 网络监控

    中国拥有世界上最复杂的网络环境,除去中国电信,中国联通,中国移动三大主流运营商,还有几千的二三级小运营商,中国目前...

  • 网络监控

    本文的意义 利用苹果原生的类Reachability,实时监控网络的状态 利用框架AFNetworking实时监控...

  • 网络监控

    1.在网络应用中,需要对用户设备的网络状态进行实时监控,目的是让用户了解自己的网络状态,防止一些误会(比如怪应用无...

  • 监控网络

    Linux 网络收发流程 网络包的接收 当一个网络帧到达网卡后,网卡会通过 DMA 方式,把这个网络包放到收包队列...

  • OpManager网络性能监控

    网络性能监控 OpManager – 综合、方便、可定制的ITOM网络性能监控软件 OpManager提供综合的网...

  • 分分钟拯救监控知识体系

    分分钟拯救监控知识体系5.1 硬件监控5.2 系统监控5.3 应用监控5.4 网络监控5.5 流量分析5.6 日志...

  • AFN监控网络状态注意

    AFNetworkReachabilityManager监控网络状态时,一定要用sharedManager开始监控...

  • iOS 网络监控

    iOS 网络监控 前言 最近公司业务需要,对网络进行监控,本文主要记录下在网络流量监控实现过程中遇到的一些问题的解...

  • 基于C++的TCP/UDP网络监控工具

    VC++ TCP/UDP网络监控工具(源代码),可监控各个网络连接的状态,可监控到目标协议的源IP地址、目的IP地...

网友评论

本文标题:网络监控

本文链接:https://www.haomeiwen.com/subject/iclpqttx.html