利用ICMP协议的PING命令获取客户端当前网络质量 by徐文棋
无论在windows下,linux也好,unix也好,都可以通过 Ping命令获得当前设备的网络延迟,延迟是客户端到服务端的网络响应时间.通常延迟越低,反应速度越快
这里使用了SimplePing 同时对其使用方法进行封装.
导入头文件
PingHelper.h
调用代码:
[PingHelper pingTo:@"127.0.0.1" withTimes:3 inBlock:^(NetworkQuality quality) {switch (quality) {case GOOD:NSLog(@"网络不错");break;case NORMAL:NSLog(@"网络一般");break;case BAD:NSLog(@"网络好差");break;case UNUSEFUL:NSLog(@"网络不可用");break;default:break;}}];
封装好的类:http://files.cnblogs.com/files/sixindev/PingHelper.zip
调用代码中 127.0.0.1可以替换为应用接口的IP地址
PS:该功能是通过多次循环ping(循环次数可在调用方法中控制),计算平均延迟后得出的结果..
转载于:https://www.cnblogs.com/sixindev/p/4488462.html
利用ICMP协议的PING命令获取客户端当前网络质量 by徐文棋相关推荐
- c语言实现icmp协议ping命令,利用ICMP协议实现ping命令
一.实现原理 ping利用ICMP协议包来侦测另一个主机是否可达.Ping的原理是使用了类型码为8的ICMP回送请求包,收到请求的主机则用类型码为0的ICMP回应报文.如果应答包和请求包的标示号.序号 ...
- 【计算机网络】ICMP协议与ping命令
IP协议及ICMP.Ping命令详解: https://blog.csdn.net/lixin_com/article/details/82014542 常见的IP协议号: ICMP:协议号1; IG ...
- ARP协议、路由、ICMP协议(ping命令)、三层交换机
本机ip:192.168.0.237/24 ping 192.168.90.1 ping的过程: 1.如果是域名,先进行域名解析到具体的一个ip 2.拿目的 ...
- 网络-ICMP协议、Ping命令实现与ICMP攻击
目录 简介 报文格式 差错报文 常见类型 不发送ICMP差错报文的情况 询问报文 常见类型 实战 简单Ping命令实现 抓包 手算校验和 全部代码 Traceroute 抓包 ICMP重定向攻击 原理 ...
- 通过 ICMP 协议实现 Ping Tunnel 建立可穿透网络隧道
Twitter via Ping Tunnel 周四 Cola 没去幼儿园,中午带着他去 KFC 吃东西.回来的时候小林指着西总布胡同说走这条路回去还是原路返回,他说还是走原路吧!于是我们就骑着电动滑 ...
- TCP/IP详解--学习笔记(4)-ICMP协议,ping和Traceroute
1.IMCP协议介绍 前面讲到了,IP协议并不是一个可靠的协议,它不保证数据被送达,那么,自然的,保证数据送达的工作应该由其他的模块来完成.其中一个重要的模块就是ICMP(网络控制报文)协议. 当传送 ...
- python调用库实现返回ping的时延_python网络作业:使用python的socket库实现ICMP协议的ping...
ICMP ping是您遇到过的最常见的网络扫描类型. 打开命令行提示符或终端并输入ping www.google.com非常容易. 为什么要在python中实现? 很多名牌大学喜欢考试用python的 ...
- tcptracerte参数_TCP/IP详解学习笔记(4)-ICMP协议,ping和Traceroute【转】
1.IMCP协议介绍 前面讲到了,IP协议并不是一个可靠的协议,它不保证数据被送达,那么,自然的,保证数据送达的工作应该由其他的模块来完成.其中一个重要的模块就是ICMP(网络控制报文)协议. 当传送 ...
- 《TCP/IP详解》学习笔记(四):ICMP 协议、ping 和 Traceroute
ICMP 协议介绍 前面讲到了,IP 协议并不是一个可靠的协议,它不保证数据被成功送达,那么自然的,保证数据送达的工作应该由其他的模块来完 成.其中一个重要的模块就是 ICMP(网络控制报文)协议. ...
- 【转】:TCP/IP详解学习笔记(4)-ICMP协议,ping和Traceroute
TCP/IP详解学习笔记(4)-ICMP协议,ping和Traceroute 分类: TCP/IP详解学习笔记计算机网络2006-04-20 18:147970人阅读评论(1)收 ...
最新文章
- Python全栈工程师(多继承、函数重写)
- 百度地图infowindow的close事件_百度地图蒙圈:车主要加油误导母婴店 跑偏理由令人啼笑皆非...
- 字符串拼接在Oracle和mysql中的用法
- 计算机网络技术人员介绍,计算机网络技术专业介绍2021 计算机网络技术专业就业方向及前景...
- 五年级计算机教室使用记录,五年级班会记录.doc
- mysql ssl编译_MySQL8开启ssl加密
- matlab汽车驱动力与行驶阻力,最新汽车理论1.3和2.7matlab编程答案
- java怎么判断素数_java判断是否为素数(质数)的方法
- pointnet源码阅读:训练
- 北京高级项目经理市场需求
- Hi3516开发笔记(四):Hi3516虚拟机编译uboot、kernel、roofts和userdata以及分区表
- Quixel bridge桥接设置
- 12省微生物繁殖,for循环模拟,12省,古堡算式全排列,12省鲁卡斯队列黄金比例比较,double精度12省填空题猜生日枚举,12省填空题土地测量,double12省填空题巧排扑克牌,12省汉诺塔
- 玩3D游戏头晕怎么办?为什么会头晕?如何解决?
- 软考-程序员-资料整理1
- 程序设计所遵循的一般步骤
- web安全防火墙介绍
- numpy序列预处理dna序列_?12个很棒的Pandas和NumPy函数,让分析事半功倍
- 华为云服务器默认密码怎么修改,如何修改云服务器登陆密码
- SAP中“管理/寄售移动被无值记账”提示问题分析处理实例