18

Is there a way to test internet speed using Java code?

For instance, like how we actually test with cmd command, ping command.

Mark Rotteveel
  • 100,966
  • 191
  • 140
  • 197
Mr CooL
  • 1,529
  • 8
  • 23
  • 27
  • Most internet speed tests write a file to a remote server, then read the file back. They will sometimes use three different size files (1kb, 100kb, 1gb) to measure transfer speed. – Gilbert Le Blanc May 29 '22 at 16:54

1 Answers1

3

use JSpeedTest Library

SpeedTestSocket speedTestSocket = new SpeedTestSocket();

// add a listener to wait for speedtest completion and progress
speedTestSocket.addSpeedTestListener(new ISpeedTestListener() {

    @Override
    public void onCompletion(SpeedTestReport report) {
        // called when download/upload is complete
        System.out.println("[COMPLETED] rate in octet/s : " + report.getTransferRateOctet());
        System.out.println("[COMPLETED] rate in bit/s   : " + report.getTransferRateBit());
    }

    @Override
    public void onError(SpeedTestError speedTestError, String errorMessage) {
         // called when a download/upload error occur
    }

    @Override
    public void onProgress(float percent, SpeedTestReport report) {
        // called to notify download/upload progress
        System.out.println("[PROGRESS] progress : " + percent + "%");
        System.out.println("[PROGRESS] rate in octet/s : " + report.getTransferRateOctet());
        System.out.println("[PROGRESS] rate in bit/s   : " + report.getTransferRateBit());
    }
});
parik
  • 2,313
  • 12
  • 39
  • 67