我试图通过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)
也非常欢迎,任何其他传输速度测量建议,如果有任何方法可以做得更好.
我有一个课程,其中包含一些关于课程和ArrayList包含学生课程对象的基本信息.
有没有更聪明的方法来编辑toString()方法,以打印出关于课程和每个学生的信息(每个单独的一行),然后这样:
public String toString() {
System.out.println("Course " + this.name + ", Teacher: " + this.teacher;
for (Student stud: studentList) {
System.out.println(stud);
}
retutn "";
Run Code Online (Sandbox Code Playgroud)
我已经设置了Student class' toString()方法来打印学生信息.
*编辑:print(stud)意识到我犯了一个错误,所以改变了println(stud)