gpt4 book ai didi

sockets - 蓝牙:如何使用Bluez创建套接字以连接到具有特定UUID的服务?

转载 作者:行者123 更新时间:2023-12-03 12:06:03 30 4
gpt4 key购买 nike

我正在与BlueZ库一起在Linux下管理蓝牙堆栈。我正在尝试打开一个套接字,该套接字应与已知UUID的特定服务连接。我已成功尝试按照以下示例在服务器和客户端之间打开套接字:

http://people.csail.mit.edu/albert/bluez-intro/c404.html

还描述了如何在远程主机中探索服务;但是,我不知道的是如何在连接套接字时指定UUID。在其他情况下,这很简单,因为使用Android库时会发生这种情况。但是,使用BlueZ时,我没有在网上找到示例。

谢谢您的帮助!

斯特凡诺

-在回复中添加了一些细节...不知道是否正确;如果没有,对不起

感谢您的帮助!

在我的帖子中,我说过我想用指定的UUID连接套接字,因为我牢记了诸如createRfcommSocketToServiceRecord之类的函数,可以在以下位置找到:

http://developer.android.com/reference/android/bluetooth/BluetoothDevice.html#createRfcommSocketToServiceRecord%28java.util.UUID%29

给定特定的UUID的套接字返回一个套接字。我正在开发两种软件,一种是客户端,另一种是服务器,因此这是我正在创建的服务,而不是标准软件。我使用指定的UUID在服务器上发布了此类服务,我想从客户端连接到该服务。服务器运行良好,因为在android平台上,利用提到的createRfcommSocketToServiceRecord方法,我能够使用正确的服务连接到服务器。

您发布的示例也很清楚,但是不幸的是它是在Python中编写的,而(我忘了指出)我正在将Bluez用作C库。我能够利用SDP并检查远程服务器上的服务;但是,当需要设置套接字时,我看不到如何指定端口。我考虑过rc_channel,但是据我了解,它是蓝牙 channel (范围从1到11或类似的东西)。您能否指出在客户端中创建套接字时我应该在哪里可以指定端口?我在哪里可以找到sdp处理的复杂结构中的正确端口? -简称:

http://people.csail.mit.edu/albert/bluez-intro/x604.html

再次感谢您的帮助!

最佳答案

您不通过UUID连接套接字。您可以使用套接字连接到远程设备,并浏览其SDP以发现其提供的UUID,并将其映射到套接字端口。这是一个使用PyBluez(BlueZ上方的python包装器)的过程的示例
http://people.csail.mit.edu/albert/bluez-intro/x290.html

关于sockets - 蓝牙:如何使用Bluez创建套接字以连接到具有特定UUID的服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10829596/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com