2015-05-06 17 views
5

Sto provando a misurare la velocità di trasferimento dei file tramite i socket in python. Ho impostato le misurazioni su entrambe le estremità (lato invio e ricezione) e ottengo risultati leggermente diversi (ad esempio 16 vs 17 Mbps per un file 1 MB trasferito tramite wifi ad-hoc). La mia domanda è se questo tipo di differenza è qualcosa che dovrei aspettarmi, data la configurazione della misurazione successiva. Tutto questo è in esecuzione su due modelli di Raspberry Pi 2 B.Misurazione della velocità di trasferimento file wifi in python

mittente:

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

ricevitore:

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

anche i benvenuti, tutti gli altri consigli misure di velocità di trasferimento, se non v'è alcun modo per farlo meglio

risposta

2

Penso che il speedtest-cli per cosa stai bloccando. Inoltre, c'è un buon article a riguardo. Sembra che Raspberry Pi supportato.

Matt Martz ha creato un progetto Python chiamato speedtest-cli che consente di eseguire una misurazione di upload/download di base utilizzando l'infrastruttura di SpeedNet. Funziona bene sul Pi ed è davvero facile da provare sulla riga di comando.

Se vuoi creare il tuo script, comunque speedtest_cli.py buon punto di partenza.

Problemi correlati