Python3.4.4 蓝牙 pybluez sock.recv

Python3.4.4 Bluetooth pybluez sock.recv

我正在 python 中使用 pybluez 库开发蓝牙服务器应用程序。我在 windows 7 PC 上安装了 python 的两个版本(python2.7.15 和 python 3.4.4)并且都已经安装了 pybluez 模块。 该程序在 python 2.7.15 中运行良好,但我在 python 3.4.4 中发现了不同的行为。 在 python 2.7.15 中,函数:

socket.recv[1024]

等待直到数据可用,如果收到数据则跳转到下一行。但是在python 3.4.4 中,没有等待数据,因此程序继续执行下一行,即使还没有接收到数据。 我应该怎么做才能使其与 python 2.7.15 中的行为相似?

感谢您的帮助。

只需添加以下行:

while True:
    data = client_sock.recv(1024)
    if len(data) == 0: break
    print("received [%s]" % data)

我只测试过 python 3.7