環境: 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」という行をコメントアウトしてロールバックし、Bluetooth サービスを再起動しても、RFCOMM のチャネル 1 は占有されていません!