`

用Java进行网速测试

    博客分类:
  • JAVA
阅读更多
命令格式:

ping ip地址 -l 字节数

注:上面的命令中 l 是字母l,不是数字1

网速等于≈(发送的字节数/返回的时间[毫秒])K字节

以上计算的结果速为字节(byte),不是我们通常说的位(bps)

如:

C:\Documents and Settings\Administrator>ping 202.101.224.68 -l 1000

Pinging 202.101.224.68 with 1000 bytes of data:

Reply from 202.101.224.68: bytes=1000 time=38ms TTL=251
Reply from 202.101.224.68: bytes=1000 time=38ms TTL=251
Reply from 202.101.224.68: bytes=1000 time=38ms TTL=251
Reply from 202.101.224.68: bytes=1000 time=38ms TTL=251

Ping statistics for 202.101.224.68:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 38ms, Maximum = 38ms, Average = 38ms

根据上述发送及返回的信息可以简单得出到地址202.101.224.68的网速为:

网速等于≈(发送的字节数/返回的时间[毫秒])K字节
        ≈1000/38K字节
        ≈26.32K字节

附:ping命令帮助说明

-l size        Send buffer size

-w timeout     Timeout in milliseconds to wait for each reply.

-n count       Number of echo requests to send.


PING与网速的关系:

由于PING包的大小前面已经讲了,PING包的默认大小为32字节,对于现在的网络,你的网速大小并不能对你PING的大小起到绝对的影响,最主要的影响因素是地区。

1:距离越远PING越高。
2:本地运营商机房质量以及承载能力,也就是所谓暴PING的问题。
3:游戏运营商服务器机房质量以及承载能力,也就是是否为专线的问题以及服务器所在地网络情况。
4:全国网络大环境。也就是高峰段以及各运营商之间竞争的问题。

public class PingTest {
  public static void main(String args[]) 
     { 
     String[] addrs= {"www.baidu.com"};
         if (addrs.length < 1) 
         { 
             System.out.println("syntax Error!"); 
         } 
         else 
         { 
             for(int i=0;i<addrs.length;i++){ 
             String line = null; 
             try 
             { 
                 Process pro = Runtime.getRuntime().exec("ping " + addrs[i]+" -l 1000 -n 4"); 
                 BufferedReader buf = new BufferedReader(new InputStreamReader(pro.getInputStream())); 
                 while((line = buf.readLine()) != null){
                  
                  int position=0;
                  if((position=line.indexOf("Average"))>=0)      
                  {  System.out.println(line); 
                  String value="/blog/line.substring(position+10,line.lastIndexOf(""ms"));
                  System.out.println("your speed is:"+(1000/Integer.parseInt(value))+"KB");               
                  }
                 }         
             } 
             catch(Exception ex) 
             { 
                 System.out.println(ex.getMessage()); 
             } 
           } 
         } 
       } 

}


分享到:
评论
4 楼 hhh380283926 2012-08-10  
   String value=line.substring(position+10,line.lastIndexOf("ms")); 
   System.out.println("your speed is:"+(1000/Integer.parseInt(value))+" KB/S");
我是改成这样了,可以运行
3 楼 caoguojian9999 2012-07-31  
楼主要考虑一下 在ping命令不能使用的情况下,如何进行测试?
2 楼 vanceinfo_xuefei 2012-03-09  
22.                  String value="/blog/line.substring(position+10,line.lastIndexOf(""ms"));  
23.                  System.out.println("your speed is:"+(1000/Integer.parseInt(value))+"KB");     

程序中这两行代码是不是有点小问题,va第一行这样写是有错的,我把它改成了
String value = "/blog/" + line.substring(position + 10, line.lastIndexOf("ms"));

而第二行的Integer.parseInt(value),value好像不能转成数字,会出现java.lang.NumberFormatException异常,望楼主解释下
1 楼 GoTiger 2011-08-04  
谢谢,刚还没头绪呢,现在大致知道了谢啦

相关推荐

    用java做的测试服务器带宽项目(原创)

    综上所述,这个"用java做的测试服务器带宽项目"涵盖了Java网络编程、TCP/IP通信、多线程、异常处理、定时任务、结果展示等多个核心知识点,是一个全面的网络性能测试工具。对于学习和理解Java在网络应用中的实际运用...

    简单的java小程序之一键测网速

    NULL 博文链接:https://jabbar2011.iteye.com/blog/1749209

    网速测试的一段代码

    标题中的“网速测试的一段代码”指的是一个用于测量网络速度的编程代码示例。在IT行业中,了解如何编写或使用这样的代码可以帮助我们评估网络连接的性能,这对于网络管理员、开发者或者普通用户来说都十分有用。它...

    基于SpringBoot的网速测试系统源码

    基于SpringBoot 3.1.0的网速...这个基于Java的网速测试器是一个简单实用的工具,可以帮助你测试网络速度,并评估网络连接的性能。通过使用这个测试器,你可以更好地了解自己的环境,从而采取相应的措施来优化网络连接。

    HTML5Speedtest轻量级的HTML5网速测试工具

    HTML5 Speedtest是一款基于HTML5技术的轻量级网速测试工具,它的设计目标是无需依赖Flash、Java或WebSocket等额外技术,通过纯JavaScript实现,从而确保在多种设备和浏览器上都能进行有效的网络速度检测。...

    网速测试工具jperf

    标题“网速测试工具jperf”指的是一个专门用于网络性能测试的软件工具,主要功能是评估网络连接的速度和质量。jperf是Java性能评估工具PerfSonar的图形化界面版本,它提供了丰富的功能,使得网络管理员、IT专业人士...

    Java-ftp测试类

    很实用详细的ftp工具类!让你很容易测试你的ftp服务!

    JAVA网络测速

    JAVA网络测速,详细讲述测试技术与原理

    java 局域网速控制

    本程序依赖于jpcap,请先按jpcap的相关要求设置好自己的运行环境(jdk6,winpcap),经测试确实好使!

    网速测速 网速刻度盘

    开发者需要掌握Java或Kotlin语言,理解Android SDK,以及如何在Android Studio中进行项目构建和调试。 4. **适配不同屏幕分辨率**:768x1280是中等分辨率的屏幕尺寸,开发时需要考虑到不同设备的屏幕尺寸和密度,...

    NetworkSpeedMonitoring:可以检测手机当前网速的demo,

    下面我们将深入探讨这个项目的相关知识点,并围绕Java编程和网络速度监测进行详细的讲解。 1. **Java编程**:Java是一种广泛使用的面向对象的编程语言,具有跨平台性、安全性以及丰富的类库。在这个项目中,Java被...

    仪表盘网速测试

    在本文中,我们将深入探讨“仪表盘网速测试”这一Android应用源码,它提供了一种用户友好的方式来测试设备的网络速度。这个应用基于一个简单但有效的原理:通过下载一个固定大小的文件来测量网络速度,从而计算出...

    短信验证码_JAVA短信接口对接

    JAVA接口是一种通信协议,允许应用程序与服务提供商进行数据交换,这里的服务提供商就是提供短信发送服务的公司,如秒嘀科技。接口通常定义了一组方法,这些方法用于执行特定的操作,如发送短信、查询余额等。 在...

    可以实时显示网速每秒刷新.rar

    此外,“部分代码功能进行参考学习”表明这个项目可能不是即插即用的应用,而是用于教学目的,帮助开发者了解如何实现这样的功能。 标签“可以实时显示网速每秒刷新.rar”与标题一致,进一步确认了这个压缩包的内容...

    HTML5 Speedtest 轻量级的HTML5网速测试工具-javascript

    使用XMLHttpRequest和Web Workers在Javascript中实现的非常轻量级的网速测试工具 LibreSpeed 没有 Flash,没有 Java,没有 Websocket,没有废话。 这是一个用 Javascript 实现的非常轻量级的 Speedtest,使用 ...

    NetSpeedTest:Android测试网速的APP

    测网速用到的思路就是有个Info结构体,里面有当前网速speed,已经下载的字节数:hadfinishBytes,总共要下载的字节数:totalBytes 然后开2个线程,线程A利用java.net的URL类去下载一个文件,例如一张几M大的图片,并且...

    访问百度和谷歌网速测试的javascript代码

    在JavaScript中,我们可以使用`XMLHttpRequest`对象或者更现代的`fetch` API来...此外,实际的网速测试可能会受到许多因素的影响,包括网络拥堵、服务器负载、用户的设备性能等,因此这些因素都会影响到测试的准确性。

    Android网速监测demo

    例如,每秒或者每500毫秒进行一次计算。这个过程可以通过创建一个后台线程或者使用Handler和Runnable来定时执行。 ```java long lastRxBytes = TrafficStats.getMobileRxBytes(); long lastTxBytes = TrafficStats....

    交换机、网线、路由器、网卡的带宽测试工具jperf

    jperf是一款基于Java的网络性能测试工具,它主要用于测量TCP和UDP的吞吐量、丢包率等关键性能指标。这款工具是iperf的图形化版本,iperf是一个广泛使用的命令行工具,适用于多平台,包括Windows、Linux和macOS。...

Global site tag (gtag.js) - Google Analytics