【发布时间】:2015-12-18 23:00:55
【问题描述】:
我正在尝试通过 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()
接收者:
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())
也非常欢迎任何其他传输速度测量建议,如果有任何方法可以做得更好。
【问题讨论】:
标签: python performance sockets file-transfer