前两天有人问我.有没有测试与一个服务器之间的 连接状态的函数....
emmm,这个么当然没有.
众所周知.测试与服务器之间的链接状态,通常都是使用 ping命令,所以,我们测试与目标网络的连接状态,理所当然的使用ping来实现.ping个十次八次的然后拿到他的 最大值/最小值/平均值/平均偏差,通过这些数值去判断与服务器之间的连接状态是否稳定.
例如:
ping -c 10 www.baidu.comping www.a.shifen.com (61.135.169.121) 56(84) bytes of data.64 bytes from 61.135.169.121: icmp_seq=1 ttl=53 time=6.82 ms64 bytes from 61.135.169.121: icmp_seq=2 ttl=53 time=6.23 ms64 bytes from 61.135.169.121: icmp_seq=3 ttl=53 time=7.28 ms64 bytes from 61.135.169.121: icmp_seq=4 ttl=53 time=103 ms64 bytes from 61.135.169.121: icmp_seq=5 ttl=53 time=96.0 ms64 bytes from 61.135.169.121: icmp_seq=6 ttl=53 time=11.1 ms64 bytes from 61.135.169.121: icmp_seq=7 ttl=53 time=11.1 ms64 bytes from 61.135.169.121: icmp_seq=8 ttl=53 time=7.74 ms64 bytes from 61.135.169.121: icmp_seq=9 ttl=53 time=10.9 ms64 bytes from 61.135.169.121: icmp_seq=10 ttl=53 time=12.0 ms--- www.a.shifen.com ping statistics ---10 packets transmitted, 10 received, 0% packet loss, time 9014msrtt min/avg/max/mdev = 6.236/27.247/103.125/36.251 ms那我们ping10次百度,然后查看返回的结果 第16行 rtt开头的那部分
min:最小值
avg:平均值
max:最大值
mdev:平均偏差值
一般看mdev这个值,这个值越小,说明你与目标服务器的连接状态越稳定,如果越大,则说明越不稳定.
至于取值...就看你自己习惯使用哪种方式取了.是使用shell取值还是使用js来取值.这种使用shell执行的命令,我还是比较喜欢使用shell的方式去取值,那一起来看最终的实现:
/** * 测试与目标网络的ping值,返回最小值 最大值 平均值 平均偏差值 * @param {string} target 目标网络的域名或者ip * @param {int} count 测试次数,次数越大,测试值越准确,但时间会越长 */function pingtest(target, count) { var res = shell(ping -c + count + + target + |grep 'rtt' |awk '{print $4}').result; res = res.replace(\\n, ); var resarry = res.split(/); return { min : resarry[0], //最小值 max : resarry[2], //最大值 avg : resarry[1], //平均值 mdev: resarry[3] //与平均值的偏差,值越大,说明网络越不稳定 };}var t = pingtest(www.baidu.com, 10);console.log(t.mdev);附:获取单次ping的time值
var res = shell(ping -c 1 www.baidu.com |awk '{print $7}' |grep -o '[0-9].*');console.log(res);
瑞萨或出售移动芯片业务,转战汽车和工业芯片市场
张钹院士畅谈了清华是怎样办人工智能专业的
基于工业无线DTU的空气污染监测防治方案
关于区块链的未来一个大预测
电路图形符号大全,教你看懂电路图
与目标网络的网络状态测试
业主不知情地“刷脸被卖房”,究竟谁的锅?
MCU部署OpenCV的“配置篇
波兰的5G频谱拍卖投标期限被再次推迟
排除服务器接入问题地基本步骤
Beat Saber和Subpac达成合作,未来将帮助残疾人体验VR
华为已在全球签署了800多个云化核心网商用合同使能行业数字化转型?
物联网设备需要面对的十大安全挑战
中科曙光第五代云计算操作系统Cloudview 5.0在计算、存储、网络进行技术升级
工业设备的生命周期及在短期内从根本上提升系统的功能
人社部拟发布人工智能训练师等新职业 华为智能无人店武汉开业
基于labview的工控机与变频器间通讯的设计和实现
如何使用几种不同的硬件模型制作Sonoff智能交换机
单穗玉米脱粒机与普通脱粒机的对比,它的优势是什么
中国联通在移动业务和移动出账方面用户累计已到达了为3.12亿户