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

0 に答える 0