coap协议详解 服务器,COAP协议解析和简单打包实现

1. COAP概述

由于物联网中的很多设备都是资源受限型的,即只有少量的内存空间和有限的计算能力,所以传统的HTTP协议应用在物联网上就显得过于庞大而不适用。 IETF的CoRE工作组提出了一种基于REST架构的COAP协议。

2. 协议格式

7ffe6bf0458baefe640729b8efd5c53d.png

【Ver】版本号

【T】报文类型, CoAP协议定了4种不同形式的报文, CON(0)报文, NON(1)报文, ACK(2)报文和RST(3)报文.

【TKL】CoAP标识符长度, CoAP协议中具有两种功能相似的标识符, 一种为Message ID(报文编号), 一种为Token(标识符). 其中每个报文均包含消息编号, 但是标识符对于报文来说是非必须的.

【Code】 请求方法或者应答状态字

【Message ID】报文编号

【Token】标识符具体内容,通过TKL指定Token长度。

【Options】报文选项,通过报文选项可设定CoAP主机,CoAP URI,CoAP请求参数和负载媒体类型等等。

【1111 1111B】CoAP报文和具体负载之间的分隔符。

【payload】 有效数据。

3. code

3.1. 请求方法

0.01 GET:获取资源

0.02 POST:创建资源

0.03 PUT:更新资源

0.04 DELETE:删除资源

3.2. 应答状态字

3.2.1. 成功应答

2.01 Created

2.02 Deleted

2.03 Valid

2.04 Changed

2.05 Content

3.2.2. 客户端错误

这类的状态码代表了客户端看起来可能发生了错误,妨碍了服务器的处理。

4.00 Bad Request

4.01 Unauthorized

4.02 Bad Option

4.03 Forbidden

4.04 Not Found

4.05 Method Not Allowed

4.06 Not Acceptable

4.12 Precondition Failed

4.13 Request Entity Too Large

4.15 Unsupported Content-Format

3.2.3. 服务器错误

这类状态码代表了服务器在处理请求的过程中有错误或者异常状态发生,也有可能是服务器的软硬件资源无法完成对请求的处理。

5.00 Internal Server Error

5.01 Not Implemented

5.02 Bad Gateway

5.03 Service Unavailable

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值