最初に、私はフランス語なので私の英語があまり上手でない場合は申し訳ありません。
私は pyBluez を使用した Bluetooth 開発の初心者であり (TCP および UDP ソケットは既に知っています)、サーバーに少し問題があります。次のコードを実行すると、コンピューターはリッスン状態にあるように見えますが、電話 (nokia xpress music 5800) で検出しようとすると、何も表示されません!
そして、私にとって驚くべきことが2つあります。1)「私のコンピューター」のような名前を構成するコードには機能がありません。電話が私のアドレスを見つけたのかもしれませんが、lookup_name() のような関数で名前を解決できないため、コンピューターの電源が入っていないと見なされますか?
2) 00:12:34:56:78:9A を、Bluetooth デバイスの hciconfig ツールによって指定されたアドレスに置き換えると、次のようになります
serversock.bind(("",PORT_ANY))
。serversock.bind(("00:12:34:56:78:9A",PORT_ANY))
_bluetooth.error: (98, 'Address already in use'
チャンネルの理由から答えはイエスだと思うので、ただのばかげた質問です。複数のプログラムが同じBluetoothインターフェースでリッスンすることは可能ですか。
私はルートでプログラムを実行します
from bluetooth import *
serversock=BluetoothSocket(RFCOMM)
serversock.bind(("",PORT_ANY))
serversock.listen(1)
advertise_service(serversock,"SampleServer",service_classes = [ SERIAL_PORT_CLASS ],profiles = [ SERIAL_PORT_PROFILE ] )
clientsock,clientinfo = serversock.accept()
print "Accepted connection from " , clientinfo
clientsock.send("PyBluez server says Hello!! ")
data = clientsock.recv(1024)
print "received: " , data
clientsock.close()
serversock.close()
ありがとうございました