Speed Test Socket Download1

  1. Socket Test Download
  2. Speedtest Socket Download Error
  3. Qfn Test Socket

Speed Test client library for Java/Android with HTTP & FTP support

  • speed test download
  • speed test upload
  • download / upload progress monitoring
  • configurable hostname / port / uri (username & password for FTP)
  • configurable socket timeout and chunk size
  • configure upload file storage

It is a relative value used for determining the lowest latency server for performing the actual speed test against. There is the potential for this tool to report results inconsistent with Speedtest.net. Internet Ping/Upload/Download Problems. I wish I could because I can't get a test from the close areas to test because everytime I try it says 'socket-download01' and won't let me finish my.

Check a non-exhaustive list of compatible speed test server.

Include in your project

  • with Gradle, from jcenter or mavenCentral :

Usage

  • setup a speed test listener to monitor progress, completion and error catch :

Download

  • HTTP download 1Mo from http://ipv4.ikoula.testdebit.info
  • FTP download 1Mo from speedtest.tele2.net
  • FTP download 1Mo from ftp.otenet.gr with credentials (username/password), default is anonymous/no password

Upload

  • HTTP upload 1Mo to http://ipv4.ikoula.testdebit.info
  • FTP upload a 1Mo file to speedtest.tele2.net

Fixed duration download

Download during a fixed duration. Download will be stopped when the max duration is reached.

  • HTTP download for 10s max, a 100 Mo file from http://ipv4.ikoula.testdebit.info
  • FTP download for 10s max, a 100 Mo file from speedtest.tele2.net

Fixed duration Upload

Upload during a fixed duration. Upload will be stopped when the max duration is reached

  • HTTP upload for 10s max, a 10Mo file to http://ipv4.ikoula.testdebit.info
  • FTP upload for 10s max, a 10Mo file to speedtest.tele2.net

Define report interval

You can define your own report interval (interval between each onDownloadProgress & onUploadProgress) in milliseconds.

  • HTTP download with download reports each 1.5 seconds
  • FTP download with download reports each 1.5 seconds
  • HTTP upload with upload reports each 1.5 seconds
  • FTP upload with upload reports each 1.5 seconds

Use proxy server

default proxy server port is 8080

Chain download/upload requests

You can chain multiple download/upload requests during a fixed duration. This way, there will be as much download/upload request until the end of the period

  • download repeat

The following will download regularly for 20 seconds a file of 1Mo with download report each 2 seconds. Download reports will appear in onReport callback of IRepeatListener instead of onDownloadProgress :

  • upload repeat

The following will upload regularly for 20 seconds a file of 1Mo with download report each 2 seconds. Upload reports will appear in onReport callback of IRepeatListener instead of onUploadProgress :

Get live download & upload

  • retrieve current download report :
  • retrieve current upload report :

Set setup time

Setup time is the amount of time in milliseconds from which speed test will be calculated :

The following will set the setup time to 5 seconds which mean, the speed rate will begin to be computed 5 seconds after the speed test start :

  • download
  • upload

Set upload file storage type

By default, data to be uploaded is stored in RAM, for large data it is recommended to used file storage :

It will create a temporary file containing random data. File will be deleted automatically at the end of the upload.

Set size of each packet sent to upload server

Set socket timeout value

You can set download/upload socket timeout in milliseconds :

Set transfer rate precision

These settings are used to alter transfer rate float rounding / scale :

  • set RoundingMode :

Default RoundingMode used for transfer rate calculation is HALF_EVEN. It can be override with :

  • set Scale :

Default scale used for transfer rate calculation is 4

FTP mode

Socket Test Download

Set passive/active mode with :

default is FtpMode.PASSIVE

Android Integration

  • add Internet permission to manifest :
  • use an AsyncTask to run your speed test :

Execute it with : new SpeedTestTask().execute();

Features examples

All following examples use speed test server http://ipv4.ikoula.testdebit.info for HTTP and speedtest.tele2.net for FTP

  • HTTP download (1Mo)
  • HTTP upload (1Mo)
  • FTP download (1Mo)
  • FTP upload (1Mo)
  • HTTP download (1Mo) through proxy server 216.56.48.118:9000
  • download during a fixed duration (size: 100Mo, duration: 15s, report interval: 1s)
  • upload during a fixed duration (size: 100Mo, duration: 15s, report interval: 1s)
  • download repeatedly a file during a fixed duration (size:10Mo, duration 11s, report interval: 1s)
  • upload repeatedly a file during a fixed duration (size:1Mo, duration 11s, report interval: 1s)
  • successive 2 x (download + upload) repeatedly a file during a fixed duration (1 download size:1Mo, duration 3s, report interval: 1s following by 1 upload size:1Mo, duration 3s, report interval: 1s)

Speed Test issues

It's important to choose an adequate speed test server depending on latency/jitter. This library is not responsible for the speed test server choice.

Note that this library :

  • doesn't adjust the chunk size depending on the connection speed either
  • doesn't provide pre-estimation of the connection speed based on small chunk sent to/from server
  • doesn't detect anomaly either (for instance taking away X% slowest chunk and X% fastest chunk downloaded)

This library does provide an average of transfer rate for all individual chunks read/written for download/upload.

The 2 following links describe the process of speedtest.net :

Compatibility

JRE 1.7 compliant

Build & test

  • build without test :
  • build with test :
  • run specific test

External libraries

License

The MIT License (MIT) Copyright (c) 2016-2018 Bertrand Martel

Command line interface for testing internet bandwidth usingspeedtest.net

Versions

speedtest-cli works with Python 2.4-3.7

Socket

Installation

pip / easy_install

or

Github

or

Just download (Like the way it used to be)

or

Speedtest Socket Download Error

Usage

Python API

See the wiki.

Qfn Test Socket

Inconsistency

It is not a goal of this application to be a reliable latency reporting tool.

Latency reported by this tool should not be relied on as a value indicative of ICMPstyle latency. It is a relative value used for determining the lowest latency serverfor performing the actual speed test against.

There is the potential for this tool to report results inconsistent with Speedtest.net.There are several concepts to be aware of that factor into the potential inconsistency:

  1. Speedtest.net has migrated to using pure socket tests instead of HTTP based tests
  2. This application is written in Python
  3. Different versions of Python will execute certain parts of the code faster than others
  4. CPU and Memory capacity and speed will play a large part in inconsistency betweenSpeedtest.net and even other machines on the same network

Issues relating to inconsistencies will be closed as wontfix and withoutadditional reason or context.