在python中测量wifi文件传输速度

Mil*_* C. 5 python sockets performance file-transfer

我试图通过python中的套接字来测量文件传输的速度.我在两端设置测量(发送和接收端)并得到一些不同的结果(即通过ad-hoc wifi传输的1MB文件的16对17 Mbps).我的问题是,鉴于以下测量设置,这种差异是否是我应该期待的.这一切都在两个Raspberry Pi型号2 B上运行.

发件人:

import socket as s
sock = s.socket(s.AF_INET, s.SOCK_STREAM)
sock.connect((addr,5000))
start = t.time()
sock.sendall(data)
finish = t.time()
Run Code Online (Sandbox Code Playgroud)

接收器:

import socket as s
sock = s.socket(s.AF_INET, s.SOCK_STREAM)
sock.setsockopt(s.SOL_SOCKET, s.SO_REUSEADDR, 1)
sock.bind(("", 5000))
sock.listen(1)
conn, addr = sock.accept()
pack = []
start = t.time()
while True:
    piece = conn.recv(8192)
    if not piece:
        finish = t.time()
        break
    pack.append(piece.decode())
Run Code Online (Sandbox Code Playgroud)

也非常欢迎,任何其他传输速度测量建议,如果有任何方法可以做得更好.

the*_*dor 1

我认为speedtest-cli你锁定的目的是什么。另外,有一篇关于它的好文章。看来树莓派是支持的。

\n\n
\n

Matt Martz 创建了一个名为 speedtest-cli 的 Python 项目,它允许您使用 SpeedNet\xe2\x80\x99s 基础设施进行基本的上传/下载测量。它在 Pi 上运行良好,并且很容易在命令行上尝试。

\n
\n\n

如果您想制作自己的脚本,无论如何speedtest_cli.py都是一个不错的起点。

\n