iOS - 网络流量监控

背景

应用程序中,聊得最多的话题就是网络,毕竟网络是前端和后端数据传输的核心,那怎么去判断网络的好坏呢,那就是通过网速,网速受到很多方面的影响,例如:基站数、发起通讯数目、硬件性能等等。
在开发测试中,菊花等待框并不能直观的展示出来网速的快慢,最直观的那就只有数字大小。

网络端口信息

C语言 ==getifaddrs()==函数,它可以查找到系统所有的网络接口的信息,包括以太网卡接口和回环接口等。
struct ifaddrs

{
struct ifaddrs ifa_next; / Next item in list */
char ifa_name; / Name of interface(接口名称) /
unsigned int ifa_flags; /
Flags from SIOCGIFFLAGS */
struct sockaddr ifa_addr; / Address of interface */
struct sockaddr ifa_netmask; / Netmask of interface */
union
{
struct sockaddr ifu_broadaddr; / Broadcast address of interface */
struct sockaddr ifu_dstaddr; / Point-to-point destination address */
} ifa_ifu;
#define ifa_broadaddr ifa_ifu.ifu_broadaddr
#define ifa_dstaddr ifa_ifu.ifu_dstaddr
void ifa_data; / Address-specific data */
};

在这里插入图片描述
上图中:inStream: 下行流量 outStream: 上行流量

附加

网络连接中,我们偶尔也会碰到网络类型的切换,比如蜂窝网络切换wifi、无网络状态等等。AFNetworking库中AFNetworkReachabilityManager已经很好的封装了监测网络类型转变的Block。

但是,通过#import <Network/Network.h>库中的path_monitor.h也可以实现对网络类型转变的监听。
在这里插入图片描述

创建全局的接口监视器对象path_monitor_t,通过nw_path_monitor_set_update_handler()函数回调监听获取端口类型以便见识网络类型的变换。
在这里插入图片描述

资源

Demo地址:https://github.com/ChengJingH/NetworkMonitor

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值