4

环境:在vmplayer中运行的Ubuntu 14.04。

在 PyBluez 示例中,rfcomm-server.py,在 PORT_ANY 上运行 RFCOMM 服务器时出现问题

代码块:

from bluetooth import *

erver_sock=BluetoothSocket( RFCOMM )
server_sock.bind(("",PORT_ANY))
server_sock.listen(1)

我总是在绑定操作中得到 _bluetooth.error: (98, 'Address already in use') 。

该线程显示禁用 pnat 并且它有效。我的问题是

  1. 在这种情况下,我如何知道哪个服务正在使用 RFCOMM 通道?有命令列出它们吗?

    sdptool 浏览本地

没有显示通道 1 正在使用中。

  1. 在 /etc/bluetooth/main.config 中禁用 pnat 后,通道 1 似乎已释放,我可以毫无问题地运行 rfcomm-server.py。但是,即使我通过注释掉“DisablePlugins = pnat”这一行来回滚并再次重新启动蓝牙服务,RFCOMM 的通道 1 也不再被占用!
4

0 回答 0