1

我正在使用 python 中的 pybluez lib 开发蓝牙服务器应用程序。我在 Windows 7 PC 上安装了 2 个版本的 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 中的行为相似?

谢谢你的帮助。

4

1 回答 1

0

只需添加以下行:

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

我测试过的只是python 3.7

于 2019-07-28T13:20:19.487 回答