上一个问题How to get Disconnect Event from GATT Server on Bluez/Linux解决了Bluez堆栈的断开连接事件。
然而,由于断开检测是在GATT层,因此在GATT层检测到断开需要一段时间。对于许多应用来说,延迟断开检测将是一个问题。
Bluez提供HCI API以在BLE层连接/断开连接:
int hci_le_create_conn();
int hci_disconnect();
应用程序如何捕获HCI事件,指示由hci_le_create_conn()创建的BLE连接现在已断开连接。