4 Option部分详解

CoAP支持多个Option,CoAP的Option的表示方法比较特殊,采用增量的方式描述,细节可参考RFC7252 #3.1

图4.1 CoAP部分Option定义

图4.1 CoAP部分Option定义

一般情况下Option部分包含Option Delta、Option Length和Option Value三部分。

Option Delta】表示Option的增量,当前的Option的具体编号等于之前所有Option Delta的总和。

Option Length】表示Option Value的具体长度。

Option Value】表示Option具体内容

CoAP中所有的Option都采用编号的方式,这些Option及编号的定义如下图所示。

图4.2 Option编号内容

图4.2 Option编号内容

在这些option中,Uri-Host、Uri-Port、Uri-Path和Uri-Query等和资源“位置”和参数有关。

3】Uri-Host:CoAP主机名称,例如iot.eclipse.org

7】Uri-Port:CoAP端口号,默认为5683

11】Uri-Path:资源路由或路径,例如\temperature。资源路径采用UTF8字符串形式,长度不计第一个"\"。

15】Uri-Query:访问资源参数,例如?value1=1&value2=2,参数与参数之间使用“&”分隔,Uri-Query和Uri-Path之间采用“?”分隔。

在这些option中,Content-Format和Accept用于表示CoAP负载的媒体格式

12】Content-Format:指定CoAP复杂媒体类型,媒体类型采用整数描述,例如application/json对应整数50,application/octet-stream对应整数40。

17】Accept: 指定CoAP响应复杂中的媒体类型,媒体类型的定义和Content-Format相同。

CoAP协议中支持多个Option,例如

第一个Option Delta=11,表示该Option表示Uri-Path(11)

第二个Option Delta=1,表示该Option=1+11,表示Content-Format(12)

第三个Option Delta=3,表示该Option=3+1+11,表示Uri-Query(15)

CoAP采用这样的方式表示多个Option,而每种Option都可以在HTTP协议中找到对应项。




相关内容