相关疑难解决方法(0)

蓝牙 SDP - sdpd 在哪里?

蓝牙服务发现协议 (SDP) 守护进程在哪里?

我正在尝试使用 bluez 在 Debian V8.0 上注册蓝牙服务。我在https://people.csail.mit.edu/albert/bluez-intro/使用示例代码。一切顺利,直到我尝试

sdp_connect( BDADDR_ANY, BDADDR_LOCAL, 0 );
Run Code Online (Sandbox Code Playgroud)

这失败了。经过一番挖掘,我发现 sdp 守护进程 (sdpd)(它需要连接到它)没有运行,实际上我的系统上甚至不存在。

我试过的:

  1. 我已经安装了 (apt-get) 每个似乎远程相关但仍然没有 sdpd 的蓝牙或 bluez 包。
  2. 我尝试使用我的 Android 手机的地址进行连接(使用相同的代码)。这工作得很好,但当然没有用。
  3. 对该问题进行了详尽的谷歌搜索,但没有找到明确的答案。有很多关于 hcid、pand 等的讨论,但没有明确回答这些是如何相关的。

我的目标:

我正在尝试在我的 Debian 系统上注册我的服务,以便我可以从另一个蓝牙设备(特别是我的 Android)连接到它。该服务运行良好,只是没有 SDP 注册就无法找到它。

我很乐意使用它的(已知)频道号直接连接到它,但 Android 只能通过注册服务 UUID(即使用BluetoothDevice.createRfcommSocketToServiceRecord(uuid))进行连接,但我看不到连接到频道的API 。

有趣的是,我可以通过channel number连接到 Android 上的服务,但反过来不行。我认为 sdpd 可能已经过时了——所有对它的引用都已经有好几年了。

debian android bluetooth sdp

3
推荐指数
1
解决办法
2227
查看次数

标签 统计

android ×1

bluetooth ×1

debian ×1

sdp ×1