Python3.4.4蓝牙pybluez sock.recv

时间:2018-09-25 10:23:20

标签: python pybluez

我正在使用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中的行为相似?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

只需添加以下行:

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

我已经测试过仅适用于python 3.7