0

我正在使用 PyBluez 来尝试确定树莓派和手机之间的蓝牙传输速度。

我想在发送数据之前启动一个计时器socket.send(data)并在发送数据后停止它,以查看发送数据需要多长时间。但是,这不起作用,因为send()它不是一个阻塞函数,并且在它完成执行之前继续到下一行代码。IE:

start = time.time()
socket.send(data)
end = time.time()
time_taken_to_send = end - start

当我设置socket.setblocking(True)时,它似乎并没有改变发送数据所需的时间。

我对手机端的代码没有太多控制,因为这只是检查带宽的初步测试,我只是使用从 google play store 下载的应用程序来实现蓝牙连接,所以我不能时间接收数据所花费的时间,即使socket.recv()是一个阻塞函数。

有谁知道强制socket.send(data)成为阻塞函数的方法,它只会在数据发送后才移动到下一行代码?

4

0 回答 0