首页 > 解决方案 > Java 网速测试

问题描述

大家好,

我正在尝试通过示例 java 代码验证互联网速度。但是当我将相同的网站与网站进行比较时,让我们说 fast.com,结果却大不相同。你能帮我理解我是否遗漏了什么吗?

 public static void testSpeed() throws MalformedURLException, IOException {
            
            long totalDownload = 0; // total bytes downloaded
            final int BUFFER_SIZE = 1024; // size of the buffer
            byte[] data = new byte[BUFFER_SIZE]; // buffer
            int dataRead = 0; // data read in each try
            long startTime = System.nanoTime(); // starting time of download
            BufferedInputStream in = new BufferedInputStream(
                    new URL(
                            "https://www.google.com/")
                            .openStream());
            while ((dataRead = in.read(data, 0, 1024)) > 0) {
                totalDownload += dataRead; // adding data downloaded to total data
            }
            double downloadTime=(System.nanoTime() - startTime);
            /* download rate in bytes per second */
            double bytesPerSec = totalDownload
                    / ((downloadTime)  / 1000000000 );
            System.out.println(bytesPerSec + " Bps");
            /* download rate in kilobytes per second */
            double kbPerSec = bytesPerSec / (1024);
            System.out.println(kbPerSec + " KBps ");
            /* download rate in megabytes per second */
            double mbPerSec = kbPerSec / (1024);
            System.out.println(mbPerSec + " MBps ");
        
        }

我得到的结果为:66785.29693193253 Bps 65.22001653509037 KBps 0.06369142239754919 MBps

fast.com 的结果是:140 MBPS

标签: javanetworking

解决方案


推荐阅读