蓝牙套接字无入站连接

1 投票
1 回答
814 浏览
提问于 2025-04-18 07:04

我在我的电脑上用Python开发了一个HIDServer(蓝牙键盘)。这个服务器有两个监听连接的端口(psm 0x11和0x13)。当我尝试把我的iPhone连接到电脑时,我能看到有连接请求(在hcidump中可以看到),但连接却被远程主机终止了。我的服务器从来没有成功接受到客户端的连接。你能帮我一下吗?

hcidump记录:

程序启动后:

HCI事件:命令完成(0x0e)数据长度4 写入扩展查询响应(0x03|0x0052)命令数1 状态0x00

尝试连接iPhone时:

HCI事件:连接请求(0x04)数据长度10 蓝牙地址60:D9:C7:23:96:FF 类别0x7a020c 类型ACL

HCI事件:命令状态(0x0f)数据长度4 接受连接请求(0x01|0x0009)状态0x00 命令数1

HCI事件:连接完成(0x03)数据长度11 状态0x00 句柄11 蓝牙地址60:D9:C7:23:96:FF 类型ACL 加密0x00

HCI事件:命令状态(0x0f)数据长度4 读取远程支持的功能(0x01|0x001b)状态0x00 命令数1

HCI事件:读取远程支持的功能(0x0b)数据长度11 状态0x00 句柄11 功能:0xbf 0xfe 0xcf 0xfe 0xdb 0xff 0x7b 0x87

HCI事件:命令状态(0x0f)数据长度4 读取远程扩展功能(0x01|0x001c)状态0x00 命令数1

HCI事件:读取远程扩展功能(0x23)数据长度13 状态0x00 句柄11 页码1 最大2 功能:0x07 0x00 0x00 0x00 0x00 0x00 0x00 0x00

HCI事件:命令状态(0x0f)数据长度4 远程名称请求(0x01|0x0019)状态0x00 命令数1

HCI事件:远程名称请求完成(0x07)数据长度255 状态0x00 蓝牙地址60:D9:C7:23:96:FF 名称'iPhone'

HCI事件:命令完成(0x0e)数据长度10 链接密钥请求回复(0x01|0x000b)命令数1 状态0x00 蓝牙地址60:D9:C7:23:96:FF

HCI事件:加密变化(0x08)数据长度4 状态0x00 句柄11 加密0x01

HCI事件:断开连接完成(0x05)数据长度4 状态0x00 句柄11 原因0x13 原因:远程用户终止了连接

1 个回答

0

在我的程序中,最开始设置设备的类别并没有成功,因为它会被重置。为了让HIDServer在blueZ上正常工作,我必须在等待连接之前再设置一次设备的类别。我不知道为什么它会被重置,但我知道确实会发生这种情况。也许其他人能告诉我原因。

撰写回答