MQTT协议(九)——固定报文头

MQTT协议的固定报文头由两个部分组成,第一部分是报文的控制类型与标识,占据1个字节;第二部分是报文的剩余长度,占据1~4个字节。一、控制报文类型与标识控制标识共占一个字节,位于MQTT报文的第1个字节。其中高4位是控制报文类型,低4位是控制标识,如下。控制报文类型共有表格中这些取值。控制标识共有下面表格中这些取值。二、 报文的剩余长度报文的剩余长度用来表示剩下的报文占据字节大小,不含控制报文类型

- 阅读全文 -

MQTT协议(八)——心跳检测

心跳检测是客户端发送给服务端的。协议中关于心跳检测的作用是这样叙述的1.在没有任何其它控制报文从客户端发给服务的时,告知服务端客户端还活着。2.请求服务端发送 响应确认它还活着。3.使用网络以确认网络连接没有断开。一、场景示意图二、协议简述心跳报文较为简单,客户端向服务端发送PING REQ报文,服务端需在合适的时间内回复PING RESP报文。否则客户端将会关闭服务端的连接,当然服务端也将关闭服

- 阅读全文 -

MQTT协议(七)——QoS2发布

QoS2的发布共需要四条报文,以确保接收者收到且仅收到一次消息。一、场景示意图二、协议简述PUBLISH报文可以参加MQTT协议(五)——QoS0发布。PUBLISH REC,PUBLISH REL,PUBLISH COMP报文的结构基本一致。固定报文头。第一个字节是控制报文标识符,紧接着的字节为报文的剩余长度,这个剩余长度是不包含固定报文头的;报文标识符。共两个字节MSB、LSB。所以1中的报文

- 阅读全文 -

MQTT协议(六)——QoS1发布

与QoS0类似,可以是客户端向服务端发布,也可以是服务端向客户端发布消息。但是在QoS1的服务质量中,接收者需要对发布者的消息进行回应。一、场景示意图二、协议简述PUBLISH报文这里不再赘述,参见 MQTT协议(五)——QoS0发布。在QoS1的服务质量下,接收者在收到PUBLISH报文之后需要回应PUBLISH ACK报文。如果由于网络等其它原因发送者没有收到PUBLISH ACK报文,发送者

- 阅读全文 -

MQTT协议(五)——QoS0发布

发布可以使客户端发送给服务端,也可以是服务端发送给客户端。当一个客户端A想发布一条消息时,它应该先把这条消息发布给服务端,然后由服务端作为代理将该条消息发布给所有订阅消息主题的客户端们。一、场景示意图二、协议简述在QoS0的发布中,接收者无须对接收到的发布报文进行回应。这样可以节省时间开销,但是如果网络连接不稳定等状况下很有可能导致发布的消息丢失,所以QoS0也被称为至多一次。固定报文头。第一个字

- 阅读全文 -

MQTT协议(四)——取消订阅

取消订阅用于客户端向服务端请求取消已经订阅的主题。客户端向服务端发送请求UNSUBSCRIBE,服务端需要回复UNSUBSCRIBE ACK。一、场景示意图二、协议简述客户端需要主动向服务端发送UNSUBSCRIBE报文,报文与SUBSCRIBE报文相似,支持一次取消多个订阅主题。固定报文头。第一个字节是控制报文标识符,紧接着的字节为报文的剩余长度,这个剩余长度是不包含固定报文头的;报文标识符。共

- 阅读全文 -

MQTT协议(三)——订阅

当客户端和服务端连接成功后,客户端需要向服务端订阅自己感兴趣的主题消息这样才能够收到消息。涉及到的报文有SUBSCRIBE,SUBSCRIBE ACK。一、场景示意图二、协议简述订阅的报文为SUBSCRIBE报文,主要包含订阅的主题、订阅的QoS等级。报文的组成如下。固定报文头。第一个字节是控制报文标识符,紧接着的字节为报文的剩余长度,这个剩余长度是不包含固定报文头的;消息标识符。占两个字节,分别

- 阅读全文 -

MQTT协议(二)——断开连接

断开连接比较简单,客户端主动发送给服务端DISCONNETC报文即可。一、场景示意图二、协议简述连接断开协议较为简单,只有固定报文头组成。固定报文头占2个字节,第一个字节为控制标识,第二个字节为报文的剩余长度(因为断开连接报文没有剩余的报文,所以该字节为0)。

- 阅读全文 -

最新文章

最近回复

  • lixiasong: 很抱歉这么晚回你。 是否可以在创建个全局链表或者数组维护wsi,...
  • opop: 想請問一下 callback 成員wsi: 连接的websock...
  • lixiasong: 哈哈哈哈,最近上班了,只能挤时间打理网站了。
  • 苹果: 鬼知道我怎么进了这个网站的,这就是互联网的魅力。看了作者的干货,...
  • lixiasong: o(╯□╰)o不好意思啊,我的网站还没添加评论提醒,build目...
  • river2018: libwebsocket 源码哪里来的build目录?
  • admin: 换了个简洁点的主题,简洁点好
  • admin: 域名申请下来了,不要太开心: )
  • admin: 简直灾难,BAE的port扩展服务不向外开放了
  • admin: 开始写博客咯

分类

标签

归档

其它