Java 带Bluez卡盘的BlueCove“;无法打开SDP会话。[2] 没有这样的文件或目录;

Java 带Bluez卡盘的BlueCove“;无法打开SDP会话。[2] 没有这样的文件或目录;,java,bluetooth-lowenergy,Java,Bluetooth Lowenergy,我正在尝试编写一个简单的蓝牙服务器,它接受来自我的心率设备(Bluetooth LE)的连接,但它总是引发一个异常 javax.bluetooth.ServiceRegistrationException: Can not open SDP session. [2] No such file or directory at com.intel.bluetooth.BluetoothStackBlueZ.openSDPSessionImpl(Native Method) ~[bluecove-gp

我正在尝试编写一个简单的蓝牙服务器,它接受来自我的心率设备(Bluetooth LE)的连接,但它总是引发一个异常

javax.bluetooth.ServiceRegistrationException: Can not open SDP session. [2] No such file or directory
at com.intel.bluetooth.BluetoothStackBlueZ.openSDPSessionImpl(Native Method) ~[bluecove-gpl-2.1.1-SNAPSHOT-63.jar:2.1.1-SNAPSHOT]
at com.intel.bluetooth.BluetoothStackBlueZ.getSDPSession(BluetoothStackBlueZ.java:518) ~[bluecove-gpl-2.1.1-SNAPSHOT-63.jar:2.1.1-SNAPSHOT]
at com.intel.bluetooth.BluetoothStackBlueZ.registerSDPRecord(BluetoothStackBlueZ.java:543) ~[bluecove-gpl-2.1.1-SNAPSHOT-63.jar:2.1.1-SNAPSHOT]
at com.intel.bluetooth.BluetoothStackBlueZ.rfServerOpen(BluetoothStackBlueZ.java:607) ~[bluecove-gpl-2.1.1-SNAPSHOT-63.jar:2.1.1-SNAPSHOT]
at com.intel.bluetooth.BluetoothRFCommConnectionNotifier.<init>(BluetoothRFCommConnectionNotifier.java:42) ~[bluecove-2.1.1-SNAPSHOT-63.jar:2.1.1-SNAPSHOT]
at com.intel.bluetooth.MicroeditionConnector.openImpl(MicroeditionConnector.java:389) ~[bluecove-2.1.1-SNAPSHOT-63.jar:2.1.1-SNAPSHOT]
at com.intel.bluetooth.MicroeditionConnector.open(MicroeditionConnector.java:156) ~[bluecove-2.1.1-SNAPSHOT-63.jar:2.1.1-SNAPSHOT]
at javax.microedition.io.Connector.open(Connector.java:83) ~[bluecove-2.1.1-SNAPSHOT-63.jar:2.1.1-SNAPSHOT]
at com.mmazurcz.bluetoothserver.WaitThread.waitForConnection(WaitThread.java:39) [classes/:na]
at com.mmazurcz.bluetoothserver.WaitThread.run(WaitThread.java:60) [classes/:na]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_45]

有什么想法吗?

首先:我知道这是一篇相当古老的帖子,但我经常通过谷歌来到这里,最后我让它在我的机器上运行

要使其工作,我们需要使用
-C
(或
-compat
)选项启动蓝牙守护进程。这是通过进行以下更改来实现的:

打开一个终端并进入

sudo nano /etc/systemd/system/bluetooth.target.wants/bluetooth.service
然后换行

ExecStart=/usr/lib/bluetooth/bluetoothd

(只需添加
-C
选项)

现在需要重新启动系统守护进程:

sudo systemctl daemon-reload
最后重新启动蓝牙服务:

sudo systemctl restart bluetooth
我在这里找到了这个解决方案:


希望我还能帮助别人

几天来我都遇到了同样的问题,我按照Cyphargs的说明进行操作,但后来我遇到了新的问题,它说权限被拒绝,而不是说没有这样的文件或目录,然后我在上找到了神奇的解决方案:


您是否检查并满足此处描述的要求?使用不需要不推荐的接口的库不是更好吗?是的,但是BlueCove和AvetanaBluetooth是当时您真正找到的唯一的库,而且这确实有效。另外,这篇文章已经四年了:)那么你能看一下吗?谢谢对不起,我帮不了你。从那时起我就再也没有使用过BT,我对再次使用BT不感兴趣。“我对再次使用BT不感兴趣。”你真幸运;-)。无论如何,谢谢你。
sudo systemctl daemon-reload
sudo systemctl restart bluetooth
chmod 777 /var/run/sdp  # this line has done the magic