环境:在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 并且它有效。我的问题是
在这种情况下,我如何知道哪个服务正在使用 RFCOMM 通道?有命令列出它们吗?
sdptool 浏览本地
没有显示通道 1 正在使用中。
- 在 /etc/bluetooth/main.config 中禁用 pnat 后,通道 1 似乎已释放,我可以毫无问题地运行 rfcomm-server.py。但是,即使我通过注释掉“DisablePlugins = pnat”这一行来回滚并再次重新启动蓝牙服务,RFCOMM 的通道 1 也不再被占用!