基本概念:
- Server
- Service
- Client
重要数据结构:
- Service Record
Service record 用于记录 SDP server 中关于一个服务的所有信息。这个 Service record 由一系列的 Service attributes 组成。SDP server 使用 Service record handle 来唯一的标识一个 Service,注意它是 specific to SDP server 的。然而 0x00000000 这个 Service record handle 比较特殊,它在所有的 SDP server 中都表示 SDP server 自身这个服务。
- Service Class
一个 Service class 定义了同一类服务类型,指定了这些服务必须包含什么属性,每个属性的 ID 是什么,Value 是什么意义的。Service class 可以继承,派生 class 的属性规格必须和基类相同。Service record 的所有属性是按照 Attribute ID + Attribute value 的形式组织的,每个 Attribute ID 标识什么属性是由该 Record 所属的 Service class 指定的。
搜索 SDP 服务的过程。
SDP 协议规定了 SDP client 只能够通过指定属性值来搜索服务,搜索到的是具有指定属性值所有 Service record。用于搜索的 Service attributes 必须是 UUID 形式的。搜索的时候,Client 给出一个它感兴趣的 UUID 列表,如果这个列表中的所有 UUID 都包含在某个 Service record 的 UUID 集合中,则该 Service record 匹配此搜索。
为了支持对 SDP server 中注册的服务进行浏览,所有的 Service class 都包含了一个公共的属性,即 BrowseGroupList,标识一个 Service record 的浏览域。这样 Client 就可以指定一个 BrowseGroup 类别来浏览该类别的所有服务记录。
2008年10月26日星期日
订阅:
博文 (Atom)