网络测速

对于网络测速的需求还是比较常见的,比如常见的手机管家、360 Wi-Fi 等 App 都有网络测速的功能

ping

它的全称是 Packet Internet Groper,用来测试网络是否连通,以及响应时间是多少,通常客户端也都有配置一个叫做网络诊断的功能,其实就是用到了这个 ping

网速

顾名思义,也就是网络速度的意思。稍微专业来讲就是上传和下载时,每秒钟可传送的 最大数据量 ,数据量的大小一般用 KB、M来衡量

网络测速方案
  • 方案1
    通过上传和下载数据包,使用 TotalSize / TotalTime 来计算真实的上传和下载速率是多少
  • 方案2
    通过读取网卡数据来计算,读取上一秒的整体流量消耗 T1,然后读取当前的流量消耗 T2,那么 T2 - T1 其实可以表示为当前的一个网速情况。同时这个流量数据是可以区分蜂窝网络、Wi-Fi的,也可以区分哪些是上行流量,那些是下行流量
优劣
1.第一种方案感觉是比较准确,这个时候是真实的在下载或上传数据,比较充分的利用了当前的带宽,计算的网速也比较接近真实的网速值。但是蜂窝网络下,会消耗用户的少量流量
2.第二种方案在下载和上传东西时,计算的值和第一种方案比较接近。但是如果当前系统内没有 App 在被使用,处于静止状态的话,其实当前读取的流量值是比较小的,无法反映出网速情况,但是可以实时反映流量消耗状况

推荐阅读更多精彩内容