speed_test_dart 1.0.4 speed_test_dart: ^1.0.4 copied to clipboard
Internet speed tester (ping, upload, download) using speedtest.net
speed_test_dart #
Forked from speed_test_port
Flutter package to test ping, upload, download using speedtest.net
Optimizations #
Some refactors, more customization and better error handling. Now the test are done from a server list and if one server fails, it will try the next one.
Installation #
Add the package to your dependencies:
dependencies:
speed_test_dart: ^1.0.0
Finally, run dart pub get
to download the package.
Projects using this library should use the stable channel of Flutter
Startup #
At the startup of the app, we need to get the best servers to do the test (see setBestServers
function). It's recommended to disabled the buttons while this operation is happening:
Download Speed #
Doing download test:
Upload Speed #
Doing upload test:
Example of usage #
// Create a tester instance
SpeedTestDart tester = SpeedTestDart();
// And a variable to store the best servers
List<Server> bestServersList = [];
// Example function to set the best servers, could be called
// in an initState()
Future<void> setBestServers() async {
final settings = await tester.getSettings();
final servers = settings.servers;
final _bestServersList = await tester.getBestServers(
servers: servers,
);
setState(() {
bestServersList = _bestServersList;
});
}
//Test download speed in MB/s
final downloadRate =
await tester.testDownloadSpeed(servers: bestServersList);
//Test upload speed in MB/s
final uploadRate = await tester.testUploadSpeed(servers: bestServersList);