iOS开发——实时监控网速

  开发中用到获取网速的地方,应该就两种:

  1、下载速度,这种可以直接在接受数据的地方统计计算。这个就不讲了。
  2、获取手机网卡的数据,可以监控网卡的进出流量,下面就是。

#import "ViewController.h"

#include <ifaddrs.h>

#include <arpa/inet.h>

#include <net/if.h>

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {

[super viewDidLoad];

NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(getInternetface) userInfo:nil repeats:YES];

[timer fireDate];

}

- (void)getInternetface {

long long hehe = [self getInterfaceBytes];

NSLog(@"hehe:%lld",hehe);

}

/*获取网络流量信息*/

- (long long) getInterfaceBytes

{

struct ifaddrs *ifa_list = 0, *ifa;

if (getifaddrs(&ifa_list) == -1)

{

return 0;

}

uint32_t iBytes = 0;

uint32_t oBytes = 0;

for (ifa = ifa_list; ifa; ifa = ifa->ifa_next)

{

if (AF_LINK != ifa->ifa_addr->sa_family)

continue;

if (!(ifa->ifa_flags & IFF_UP) && !(ifa->ifa_flags & IFF_RUNNING))

continue;

if (ifa->ifa_data == 0)

continue;

/* Not a loopback device. */

if (strncmp(ifa->ifa_name, "lo", 2))

{

struct if_data *if_data = (struct if_data *)ifa->ifa_data;

iBytes += if_data->ifi_ibytes;

oBytes += if_data->ifi_obytes;

}

}

freeifaddrs(ifa_list);

NSLog(@"\n[getInterfaceBytes-Total]%d,%d",iBytes,oBytes);

return iBytes + oBytes;

}

@end

时间: 2024-10-06 19:31:54

iOS开发——实时监控网速的相关文章

Ubuntu实时查看网速、CPU、内存等信息

Indicator-Sysmonitor : 好像版本没有下载对,没有办法显示网速 但是百分比的显示非常喜欢..而且还能顺便编辑点字显示 Indicator-Multiload : 下面可以显示很多但是是图形化,百分比就好了干净清晰 sudo add-apt-repository ppa:indicator-multiload/stable-daily sudo apt-get update sudo apt-get install indicator-multiload 参考链接: http:

ruby on rails 网页上如何实时显示服务器网速?

要在网页上实时显示网速,需要实时请求服务器(由于许多浏览器不支持web socket,这里还是用ajax轮询的方式),这里的服务器以centos为例,使用sysstat,不同的服务器,可能需要不同的软件支持. 一.centos里安装sysstat yum  install sysstat 安装完成后,使用sar -V查看 二.sar的使用 首先使用ifconfig查看使用的网上,确认一个要查看的网卡的名称,这里我使用的是eth0 然后使用sar获取网速: sar -n DEV 1 1 | gre

【Linux环境编程】获取网卡的实时网速

在windows下面,我们可以看到360或者是qq安全卫士的"安全球",上面显示实时的网速情况.那么在linux里面如何获取网卡的实时网速?其实原理很简单,读取需要获取网速的网卡在某段时间dT内流量的变化dL,那么实时网速就出来了,Speed = dL / dt. linux在ifaddrs.h中提供了函数: /* Create a linked list of `struct ifaddrs' structures, one for each network interface on

centos 7 上测试网速

下面 我给大家说说 centos 7 上测试网速的一个小工具speedtest Speedtest.net强大而知名的全球宽带网络速度测试网站,采用Flash载入界面,Alexa世界排名非常高,Speedtest.net在全球有数百个测试节点,国内有测速节点几十个.作为一款在线并且可视化的网速测试工具.使用方法简单,无需下载.安装Speedtest.net还推出了命令行下测速工具speedtest.py 就能够实时测试网速. 第一步:下载安装包 wget https://raw.githubus

iOS使用ffmpeg播放rstp实时监控视频数据流

一.编译针对iOS平台的ffmpeg库(kxmovie) 最近有一个项目.须要播放各种格式的音频.视频以及网络摄像头实时监控的视频流数据,经过多种折腾之后,最后选择了kxmovie,kxmovie项目已经整合了ffmpeg和简单的播放器,详细能够參考kxmovie主页:https://github.com/kolyvan/kxmovie 编译kxmovie非常easy,已经支持iOS 6.1 和 armv7s,一次成功.编译过程没出现什么问题: git clone git://github.co

ios测试基础六:ios模拟不同网速

iOS模拟不同网络速度,模拟2G 3G网速下,检验手机上运行是否正常,各种loading图标使用是否正常等 前提准备: 1. 电脑 上安装 charles或者fiddler 代理软件: 2. iphone真机或模拟器: 操作步骤: 1.将iphone真机绑定 代理,电脑上打开代理软件,比如charles 2. 在charles菜单 栏上 选择 "Proxy"--"Throttle Setting"; 3. 在打开的弹框中,作如下选择,点击"ok"

iOS开发——网络编程OC篇&amp;(五)网络监控

网络监控 随着移动网络升级:2G->3G->4G甚至相传正在研发的5G,网络速度是越来越快,但这流量也像流水一般哗哗的溜走. 网上不是流传一个段子: 睡觉忘记关流量,第二天房子就归移动了! 这固然是一种夸张的说法,但是作为一个优秀的App开发人员,我们需要在App中给出最恰当的提示. 在需要花费大量流量的时候(例如:视频,下载等)给出一些提示. 在用户视频期间用户切换网络的时候给出是否继续观看的提示! 下面笔者就给出一种可以实时监控网络状态改变的方法! 笔者使用的是网络流传最广的网络监控类:R

李洪强iOS开发之-环信02.2_环信官网下载环信 SDK

李洪强iOS开发之-环信02.2_环信官网下载环信 SDK 移动客服即时通讯云 iOS SDK 当前版本:V3.1.4 2016-07-08 [ 版本历史 ] | 开发指南 | 知识库 | Demo源码 | 最新SDK下载Demo扫码安装 切换至v2.x版本 iOS SDK v2.x 当前版本:V2.2.6 2016-06-28 [ 版本历史 ] | 开发指南 | 知识库 | Demo源码 | 最新SDK下载Demo扫码安装 返回v3.x版本 Android SDK 当前版本:V3.1.4 20

TrafficStats——流量统计类的范例,获取实时网速

2.3开始android就提供来这个类的API,这样我们就可以方便的用他来实现统计手机流量来.这个类其实也很简单,我贴上他的几个方法,大家一看就知道怎么用了. static long getMobileRxBytes() //获取通过Mobile连接收到的字节总数,不包含WiFistatic long getMobileRxPackets() //获取Mobile连接收到的数据包总数static long getMobileTxBytes() //Mobile发送的总字节数static long