蓝牙的SDP协议总结
1.概念
每一个ServiceAttribute的结构由下图所示:
Size的定义如下图:
4.Service Class
PUD ID有如下几种定义:
Transaction ID和Length定义如下:
ServiceSearchPattern由UUID组成,每个UUID由data lement组成。MaximumServiceRecordCount用来指定返回的Service Records Handles的最大个数,由于该参数为2字节,所以其取值区间就是0x0001~0xffff。由于一个ServiceSearchPattern相匹配的Service Records Handles可能有多个,所以指定该参数非常的有必要。
TotalServiceRecordCount用来表示匹配的Service Record个数,最大为65535(而且不能够大于MaximumServiceRecordCount),如果没有配置的Service Record,则其值为0。
CurrentServiceRecordCount用来表示当前PDU中返回的Service Record Handle的个数。
ServiceRecordHandleList包含了当前PDU中返回的所有Service Record 的Handles,每一个Handle用一个32bit的数据来表示,所以该参数的长度就是4×CurrentServiceRecordCount字节。
ServiceREcordHandle是通过SDP_ServiceSearchResponse获取到的特定的Service的Service Record Handle。
参数MaximumAttributeByCount用来指定返回Attribute Value的最大总长度,以字节为单位。
第三个参数AttributeIDList用来指定一组AttributeIDList,可以是几个AttributeID,以可以是一个ID Range,如果是前者,则长度为16位,如果为后者,则长度为32位。
(5) SDP_ServiceAttributeResponse PDU
AttributeListByteCount用来表示Package中包含的数据的总长度,该值应该是小于SDP_ServiceSearchRequest中的MaxmumAttributeByteCount的一个值。
第二个参数AttributeLists是Service Record Attribute 的列表项,每一项包含了Attribute ID和Attribute Value两部分。
(6)SDP_ServiceSearchAttributeRequest PDU
ServiceSearchPattern和SDP_ServiceSearchRequest中完全一样。
第二个参数MaxmumAttributeByteCount用来指定返回Attribute Value的最大总长度,以字节为单位。
第三个参数AttributeIDList用来指定一组AttributeIDList,可以是几个AttributeID,以可以是一个ID Range,如果是前者,则长度为16位,如果为后者,则长度为32位。
(7)SDP_ServiceSearchAttributeResponse PDU
AttributeListByteCount用来表示Package中包含的数据的总长度,该值应该是小于SDP_ServiceSearchRequest中的MaxmumAttributeByteCount的一个值。
第二个参数AttributeLists是Service Record Attribute 的列表项,每一项包含了Attribute ID和Attribute Value两部分。
8.一些Attributes
两种attribute每个service record都有:1.ServiceRecordHandle (attribute ID 0x00002).ServiceClassIDList (attribute ID 0x00001)
(1)ServiceRecordHandle Attribute
(2)ServiceClassIDList Attribute
(3)ServiceRecordState Attribute
(4)ServiceID Attribute
其余很多Attribute参考SPEC。
蓝牙的SDP协议总结的更多相关文章
- 蓝牙SDP协议概述
之前写了一篇 bluedroid对于sdp的实现的源码分析 ,他其实对于sdp 协议本身的分析并不多,而是侧重于 sdp 处于Android bluedroid 架构中的代码流程,这篇文章,是针对 ...
- SDP协议译稿(Part 1)
本文的翻译内容是基于Bluetooth Core Spec 2.1+EDR 协议中对SDP的描述,很多都是个人的理解,难免有疏漏,有争议或者疑问的地方,欢迎在此留言进行探讨. 2. Overview ...
- SDP协议分析
一.SDP协议介绍 SDP 完全是一种会话描述格式 ― 它不属于传输协议 ― 它只使用不同的适当的传输协议,包括会话通知协议(SAP).会话初始协议(SIP).实时流协议(RTSP).MIME 扩展协 ...
- SDP协议
会话描述协议(SDP)为会话通知.会话邀请和其它形式的多媒体会话初始化等目的提供了多媒体会话描述.它只是用来描述,而不是一种传输协议.举例,在SIP协议的Message Header的Content- ...
- [转] SDP协议
[转] SDP协议 http://blog.csdn.net/dxpqxb/article/details/18706471 1.SDP协议概述 SDP(Session Description Pro ...
- ZT 蓝牙的AVCTP协议笔记
蓝牙的AVCTP协议笔记 (2013-07-31 08:52:41) 转载▼ 标签: bluetooth avctp command response 分类: Bluetooth 1.概述 A ...
- ZT 蓝牙的AVDTP协议笔记
我的电子杂烩饭 http://blog.sina.com.cn/wuchuchu2012 [订阅][手机订阅] 首页 博文目录 图片 关于我 个人资料 Tifnan Qing 微博 加好友 发纸条 写 ...
- SDP协议简述
SDP协议也是文本协议,只需要按照协议本身的格式填充.SDP协议格式即详细信息如下: 会话描述 格式及举例 v=(protocol version) v=0 o=(owner/creator and ...
- (转)SDP协议概述
1 简介 SDP 完全是一种会话描述格式, 它不属于传输协议. 它使用不同的适当的传输协议,包括会话通知协议(SAP).会话初始协议(SIP). 实时流协议(RTSP).MIME 扩展协议的电子邮件以 ...
随机推荐
- eclipse提示信息设置和提示信息操作
1.提示信息设置 windows->preference->java->Editor->content Assist->Advance,选择需要提示的内容即可.如图所示: ...
- 在python包管理中使用easy_install软件的步骤
本文主要介绍的是让python包管理变得更加容易的实际应用方法,就是运用easy_install这一软件,下面是文章的具体介绍. easy_install让python包管理变得 如果你想对Pytho ...
- BZOJ2584 : [Wc2012]memory
xy方向分开考虑 用扫描线处理出拓扑序,第二问直接回答拓扑序, 第一问: 将操作倒过来,变成加入线段,用线段树维护区间拓扑序的最值 #include<cstdio> #include< ...
- <!--[if IE]>….<![endif]--> (<!--[if !IE]>||<![endif]-->)的用法
1. <!--[if !IE]><!--> 除IE外都可识别 <!--<![endif]--> 2. <!--[if IE]> 所有的IE可识别 ...
- 一、saltstack简介和安装
系统环境:CentOS6.5 准备yum源: epel源(包含了saltstack的包).阿里源(CentOS-Base.repo) Host解析文件: # cat /etc/hosts 192.16 ...
- 让input不可编辑的方法
两种方法: disabled="true " 文字会变成灰色,不可编辑. readOnly="true" 文字不会变色,也是不可编辑的 <input na ...
- nodejs 更新最新版本
sudo npm cache clean -f sudo npm install -g n sudo n stable
- 根据PHP手册什么叫作变量的变量?
在最近做的一个项目中,发现了一个新的概念,关于在PHP中使用变量的变量.在的程序中,需要在一个页面同时更新多个记录,在经过相当长时间的痛苦思索之后,脑海中偶然地闪现出了变量的变量(variable v ...
- Java数组运算
在使用Java进行程序设计的时候,当为一个long型变量赋值一个整数常量时,如果这个值超过int型数据的取值范围,程序就会出现编译错误,但是有一种情况程序不会出错的,就是将多个int型数据进行算数运算 ...
- POJ 2892 Tunnel Warfare(线段树单点更新区间合并)
Tunnel Warfare Time Limit: 1000MS Memory Limit: 131072K Total Submissions: 7876 Accepted: 3259 D ...