蓝牙 Socket 没有传入连接
Posted
技术标签:
【中文标题】蓝牙 Socket 没有传入连接【英文标题】:Bluetooth Socket no incoming connection 【发布时间】:2014-07-08 12:25:18 【问题描述】:我在我的电脑上用 python 开发了一个 HIDServer(蓝牙键盘)。有 2 个 Serversocket(psm 0x11 和 0x13)正在监听连接。 当我尝试将我的 iPhone 连接到我的计算机时,我收到了一个传入连接(可以在 hcidump 中看到),但不知何故,连接被远程主机终止了。我的套接字永远不会接受客户端连接。你能帮帮我吗?
hcidumps:
启动我的程序后:
HCI 事件:命令完成 (0x0e) plen 4 写入扩展查询响应 (0x03|0x0052) ncmd 1 状态 0x00
尝试连接 iPhone 时:
HCI 事件:连接请求 (0x04) plen 10 bdaddr 60:D9:C7:23:96:FF 类 0x7a020c 类型 ACL
HCI 事件:命令状态 (0x0f) plen 4 接受连接请求 (0x01|0x0009) 状态 0x00 ncmd 1
HCI 事件:连接完成 (0x03) plen 11 状态 0x00 句柄 11 bdaddr 60:D9:C7:23:96:FF 类型 ACL 加密 0x00
HCI 事件:命令状态 (0x0f) plen 4 读取远程支持的功能 (0x01|0x001b) 状态 0x00 ncmd 1
HCI 事件:读取远程支持的功能 (0x0b) plen 11 状态 0x00 句柄 11 特征:0xbf 0xfe 0xcf 0xfe 0xdb 0xff 0x7b 0x87
HCI 事件:命令状态 (0x0f) plen 4 读取远程扩展功能 (0x01|0x001c) 状态 0x00 ncmd 1
HCI 事件:读取远程扩展功能 (0x23) plen 13 状态 0x00 句柄 11 第 1 页最大 2 特征:0x07 0x00 0x00 0x00 0x00 0x00 0x00 0x00
HCI 事件:命令状态 (0x0f) plen 4 远程名称请求 (0x01|0x0019) 状态 0x00 ncmd 1
HCI 事件:远程名称请求完成 (0x07) plen 255 状态 0x00 bdaddr 60:D9:C7:23:96:FF 名称 'iPhone'
HCI 事件:命令完成 (0x0e) plen 10 链接密钥请求回复 (0x01|0x000b) ncmd 1 状态 0x00 bdaddr 60:D9:C7:23:96:FF
HCI 事件:加密更改 (0x08) plen 4 状态 0x00 句柄 11 加密 0x01
HCI 事件:Disconn Complete (0x05) plen 4 状态 0x00 句柄 11 原因 0x13 原因:远程用户终止连接
【问题讨论】:
【参考方案1】:首先在我的程序中设置设备类别不起作用,因为它被重置了。为了让 HIDServer 在 blueZ 上工作,我必须在等待连接之前设置设备类别。我不能说它为什么会被重置,但我知道它会。也许其他人可以说出原因。
【讨论】:
以上是关于蓝牙 Socket 没有传入连接的主要内容,如果未能解决你的问题,请参考以下文章