admin管理员组

文章数量:1573690

在做Android开发时,有时我们需要知道设备的网络好不好,光看手机上的信号格数是不准确的,比如在广州南站,人那么多,如果带宽不够的话,虽然你看着信号是满格的,但是网速也会很慢,有些地方,人少,信号也满格,但是网速也慢,所以不能光看信号强度,还是得通过ping命令来看网速比较可靠。

在Android的实际开发中,我们公司开发了音视频通讯App,安装在了客户的设备上,客户说,哎,怎么看不到视频啊,你这App不行啊,每次遇到这种问题我们就会说,是你的网络不行啊。啊哈,很搞笑,一有问题我们就会说是客户的网络不好导致的,但是每次你这么说的话也不太好啊,你要拿出证据来啊,客户说他信号明明是满格的呀!所以解决方案就是在App上面增加ping的功能,这样看网络好不好就比较有理有据了。当然,我们也可以远程ping,就是通过网络给客户的app发命令,app收到命令后就开始ping,ping完之后把结果通过网络再传到我们这边的app上,这样我们就可以远程查看客户的网络情况了。

ping的含义

======================================================================

来自百度百科,ping (Packet Internet Groper)是一种因特网包探索器,用于测试网络连接量的程序 。Ping是工作在 TCP/IP网络体系结构中应用层的一个服务命令, 主要是向特定的目的主机发送 ICMP(Internet Control Message Protocol 因特网报文控制协议)Echo 请求报文,测试目的站是否可达及了解其有关状态。

ping用于确定本地主机是否能与另一台主机成功交换(发送与接收)数据包,再根据返回的信息,就可以推断TCP/IP参数是否设置正确,以及运行是否正常、网络是否通畅等。

Windows中的ping命令

==============================================================================

Windows中的ping命令可以通过 -l 设置发送数据包的大小,通过 -w 可以设置超时时间,示例如下:

如上图,-l 128设置了发送的数据包为128 bytes,不设置的话默认是32 bytes,-w 4000设置了超时时间为4000毫秒(不写的话,默认好像超时也是4000毫秒),Windows默认是ping四次,所以出现了4行的超时(Request timed out.),ping返回结果分析如下:

  • Pinging 192.168.124.88 with 128 bytes of data: 这说明正在ping 192.168.124.88,数据包大小为128 bytes

  • Request timed out. 这说明ping超时了都没有收到192.168.124.88主机的回应。

  • Ping statistics for 192.168.124.88: 说明这是ping 192.168.124.88的结果分析。

  • Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),

- Sent = 4,说明总共发送了4个数据包

- Received = 0,说明所有发出去的数据包中收到回应的个数为0个

- Lost = 4,说明发送的数据包中有4个包丢失了(即没有收到回应)

- 100% loss 说明所有发送的数据包中100%的数据包都丢失了

正常能ping通的效果图如下:

这里可以看到,ping百度的域名,它解析到百度的ip为220.181.38.148,非常的快,发送128 bytes只需要37ms即可收到响应。返回结果分析如下:

  • Pinging baidu[220.181.38.148] with 128 bytes of data: 这说明正在ping baidu[220.181.38.148] ,数据包大小为128 bytes

  • Reply from 220.181.38.148: bytes=128 time=37ms TTL=50

- Reply from 220.181.38.148: 这说明发送到220.181.38.148的数据包收到回应了

- bytes=128,说明发送的数据包大小为1

本文标签: 命令androidping