Skip to content

有关SDP

🕒 Published at: a year ago

写在前面

本文讨论基于L2CAP传输的SDP.

SDP

服务发现协议: Service Discover Protocal. 用于设备之间的服务发现.

Service Record

描述服务包含的详细信息. 由一组属性组成(和数据库的一行记录类似). image.png

Service Attribute

描述了服务的属性(如ServiceName表示服务代表的名称), 由属性ID和属性值组成. image.png

SDP举例

建立SDP相关的L2CAP连接, 完成连接返回目标CID: image.png

查询PnPInfo: image.png

PnPInfo主要是设备厂商, 版本等信息: image.png

SDP查询所有profile

image.png

返回参数携带Continuation, 表示数据太大, 需要分次传输: image.png

接下来携带Continuation参数继续查询: image.png

最终查询完毕: image.png

关于如何确定SDP是本地设备发起还是远程设备发起:

如果连接时两个设备的Role, 直接从Role就可看出(在此次连接中, 我的本地设备角色是Central): image.png

也可以从hci packet来源判断, 来源于Host是本地设备发起, 来源于Controller是远程设备发起: image.png