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

时间:2015-05-06 14:52:42

标签: python performance sockets file-transfer

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

发件人:

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()

接收器:

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())

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

1 个答案:

答案 0 :(得分:1)

我认为speedtest-cli你要锁定什么。此外,它有一个很好的article。似乎Raspberry Pi支持。

  

Matt Martz创建了一个名为speedtest-cli的Python项目,它允许您使用SpeedNet的基础架构进行基本的上传/下载测量。它在Pi上工作正常,并且很容易在命令行上试用。

如果你想制作自己的剧本,无论如何speedtest_cli.py是个好地方。