#speed #bandwidth #testing-tools #networking #testing #cli-tool

app speedtest

Rust基础的网络速度测试工具,用于两台计算机之间

5个版本

0.2.0 2024年1月31日
0.1.3 2024年1月31日
0.1.2 2024年1月31日
0.1.1 2024年1月31日
0.1.0 2024年1月31日

#953网络编程

每月42次下载

MIT 协议

8KB
102

Speedtest 🚀

Speedtest是一个基于Rust 🦀 的命令行实用程序,用于测量两台计算机之间的网络速度。它提供两个子命令:servetest,允许用户在一台机器上设置服务器,并从另一台机器进行网络速度测试。

安装 📩

要安装Speedtest,请使用以下命令

cargo install speedtest

用法 🎯

Rust-based network speed testing tool between two computers

Usage: speedtest <COMMAND>

Commands:
  serve  Listen to incoming TCP connections on the given socket address
  test   Connect to a TCP server with the given socket address
  help   Print this message or the help of the given subcommand(s)

Options:
  -h, --help     Print help
  -V, --version  Print version

服务器

Listen to incoming TCP connections on the given socket address

Usage: speedtest serve <SOCKET>

Arguments:
  <SOCKET>  Socket address

Options:
  -h, --help  Print help

测试

Connect to a TCP server with the given socket address

Usage: speedtest.exe test [OPTIONS] <SOCKET>

Arguments:
  <SOCKET>  Socket address

Options:
  -l, --length <LENGTH>  How much bytes to send to the server [default: 10MB]
  -h, --help             Print help

示例 📄

  1. 在一台计算机上设置服务器
speedtest serve 127.0.0.1:8080
  1. 从另一台计算机运行速度测试(发送100 MB(兆字节))
speedtest test 127.0.0.1:8080 --length 100

输出 🧻

服务器

~> speedtest serve 0.0.0.0:1234
2024-01-31T01:00:58.464460Z  INFO server{socket_addr=0.0.0.0:1234}: speedtest: Listening...
2024-01-31T01:01:12.014269Z  INFO speedtest: Incoming connection

客户端

~> speedtest test 127.0.0.1:1234 -l 100MB
2024-01-31T01:01:12.014113Z  INFO client{socket_addr=127.0.0.1:1234 length=100}: speedtest: Stream accepted
2024-01-31T01:01:12.014229Z  INFO client{socket_addr=127.0.0.1:1234 length=100}: speedtest: Writing data...
Transferred data: 100 MB
Elapsed time: 123.7696ms
Transfer speed: 807.95 MB/s

依赖关系

~4–14MB
~135K SLoC