Symbian 蓝牙编程
2010-08-24 05:49:00 来源:WEB开发网共有两个个Api让你能使用蓝牙服务搜寻协议,服务搜寻数据库Api就是其中的一个,而另一个则是蓝牙服务搜寻代理,它让你发现某个远程设备提供的各种蓝牙服务,以及那些服务的属性。
1. 服务搜寻数据
为了访问数据库,一个客户端必须创建和连接一个 RSdp 会话,和RSdpDatabase子会话。RSdpDatabase子会话允许服务记录和服务属性的添加、删除、和更新。
2. 服务属性Service attributes
一个服务通过许多属性来描叙,每种都可以控制一个特别的值,如integer, boolean, string, etc.
所有的属性继承自基类CSdpAttrValue.
CSdpAttrValueBoolean, CSdpAttrValueDEA, CSdpAttrValueDES, CSdpAttrValueInt, CSdpAttrValueNil, CSdpAttrValueString, CSdpAttrValueUint, CSdpAttrValueURL, and CSdpAttrValueUUID.
两个类,CSdpAttrValueDEA 和 CSdpAttrValueDES ,能够列出被创建属性的列表。所有的实现都通过MSdpElementBuilder接口来提供。
3. 服务记录句柄 Service record handle
一个服务的属性被存放在服务记录中。一个记录通过一个ID关联,服务记录句柄存放在 TSdpServRecordHandle 中。
4. 服务记录和属性
一个服务的所有信息,用一个SDP服务器的单个记录来维持。一个服务记录包含整个服务属性的列表。为了理解服务和服务属性,你需要看[BS1 Service Discovery Protocol],这里只介绍关键点:
服务属性(Attributes)
每个属性都有一个ID、类型、值。类型有很多属性ID被预定义,例如:URL作为图标显示,作为一个服务,必须总是属性ID值为12。复合属性可以通过列表属性来形成。这些列表包含列表属性自己。
服务类型属性(The service class attribute)
一个关键属性是服务类别(蓝牙ID ServiceClassIDList):每个服务是服务类别的一个实例,为服务提供初始指示器的性能。和定义其他属性,包括他们的类型和语义,必须出现在服务记录中。
一个单独的应用,可能提供多个服务。这些不同的服务,必须有不同的服务记录。另外,每个服务记录可以有很多服务类别列表。这些服务类别必须是其他服务类别的子类/超类,必须
蓝牙服务搜寻代理
蓝牙服务搜寻代理模块使你能够找到存在于某个远程设备上的各种蓝牙服务,以及那些服务的属性。
更多精彩
赞助商链接