java coap_分布式项目(三)CoAp client and server

本文介绍了在物联网场景中,由于资源限制,CoAP协议作为HTTP的轻量级替代方案。CoAP协议基于UDP,具有类HTTP特性。文章详细讲解了CoAP的报文结构、请求方法,并通过Java的californium-core库展示了CoAP客户端和服务器的实现,包括数据发送、接收及如何将数据发送到Kafka进行进一步处理。
摘要由CSDN通过智能技术生成

上回说到Web manage的构建,完成的对产品,物模型中的属于数据,设备数据,并把对应的数据缓存到redis中,接下来就开始coap客户端和服务器的构建。

coap

现阶段PC网络交互中较多的是使用tcp和http协议,但物联网设备都要求较小的功耗、较小的带宽,并且CPU、内存都是有限的,所以在这种需求下,http相对就不实用了,因为http相对臃肿,而CoAP是受限制的应用协议的代名词,CoAp和http一样都是应用层的协议,并且它是一种类http协议,相同的如请求响应模式,url方式,请求方法(做了缩减),响应码(做了简化),不同的是CoAp是基于UDP的,可以双向通信(既是客户端又是服务端),并且CoAp协议非常的小,最小的数据包仅为4k。

coap报文

f096134bf4b970096418d08e8f9a15ce.png

Var:版本编号

T:报文类型,coap定义了4种报文类型

CON:需要确认的消息,可实现可靠性传输

NON:不要确认的消息,消息传输不可靠

ACK:确认应到消息,与CON对象

RST:复位,要求消息重传

TKL:标识符长度,CoAp定义了两种标识符,Message Id(必须)和Token(非必须)

Code:响应码,如4.04,5.00,和http中的404、500功能类似

Message Id:报文编号

Token:标识符具体的内容

Option:可选选项参数,一个或多个,可设置Uri-Host、Uri-Port、Uri-Path和Uri-Query,CoAp对Option定了3部分

Delta:当前Option的编号,等于前面所有Option delta的总和

Length:表示value部分具体的长度

value:当前Option承载的具体内容

1111 1111B:报文与所承载的数据分隔符

Payload:所承载的数据实体

请求方法

请求方法和http类似,coap定义了4种请求方式

get:获取资源

post:创建资源

put:更新资源

delete:删除资源

coap数据格式

和http类似,用户定义所承载的数据的具体格式,如text/html,application/json

bb8a11ab87107b3daf54bd7dd131a030.png

上面就是对coap做了一个简单的介绍

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值