mqtt协议快速指导
2016-09-17 09:25
162 查看
下面提及到的图x-x都是指《MQTT协议3.1.1》内容所指。
1. 二进制位:并不需要解析
2. 整数数值:使用网络子序(大字端)
3. UTF-8编码:控制报文的文本字段,通读图1-1即可
1. 提及一点:两字节的长度给出了后面的数据的字节数,不包含长度字段自身占用的两个字节。
2. 后面有一个叫“编辑约定”,讲的是文本标志中的每一个一致性声明都分配一个调用格式。这个理念还真有点作用。学习一下。
就目前的我们首先需要修改的libemqtt客户端代码来说,可以如下理解:
固定报头
剩余长度的计算方式(编码与解码,文档中提供了算法),为可变报头和有效载荷的总长度。其中,使用UTF-8编码的就要加上长度前缀。
可变报头:协议名、协议等级、连接标志、保存连接
有效载荷,可以暂且理解为“应用信息”,也就是我们真正需要传输的“有效数据”
该章节主要理解:
1. 怎么去组成我们MQTT协议的报文?
2. 撇开服务器不讲,订阅与发布,就是真正意义上的接收者与发送者。
服务质量等级和协议流程:主要讲述3个等级,至于服务流程实质为报文的应答关系(具体看publish命令)
分发协议指的是不同的服务质量等级需要的行走的协议流程,这可以理解一类的流程图,看mqtt协议书的时候可以顺势画出流程图。
消息会有重发的可能性,想上面第一点所说的会话状态存储导致是否需要重发,而对于接收消息不但需要正确的协议流程,同时也需要顺序收发。
主题名和主题过滤器:
主题通配符:这里理解为主题订阅与发布的层级控制,学过数据结构的朋友最好用树的概念去理解。因为在mosquitto代理服务器里面就是应用树来存储订阅报文。
主题过滤器:也就使用通配符来过滤不合适的主题,使得发送的应用信息正确传递到对方。
第一章:
主要讲述数据表示1. 二进制位:并不需要解析
2. 整数数值:使用网络子序(大字端)
3. UTF-8编码:控制报文的文本字段,通读图1-1即可
1. 提及一点:两字节的长度给出了后面的数据的字节数,不包含长度字段自身占用的两个字节。
2. 后面有一个叫“编辑约定”,讲的是文本标志中的每一个一致性声明都分配一个调用格式。这个理念还真有点作用。学习一下。
第二章:
报文格式,作为整个MQTT协议的应用信息的格式组成,读者清晰了解即可。就目前的我们首先需要修改的libemqtt客户端代码来说,可以如下理解:
固定报头
剩余长度的计算方式(编码与解码,文档中提供了算法),为可变报头和有效载荷的总长度。其中,使用UTF-8编码的就要加上长度前缀。
可变报头:协议名、协议等级、连接标志、保存连接
有效载荷,可以暂且理解为“应用信息”,也就是我们真正需要传输的“有效数据”
该章节主要理解:
1. 怎么去组成我们MQTT协议的报文?
2. 撇开服务器不讲,订阅与发布,就是真正意义上的接收者与发送者。
第三章:
本章内容就不再此详述,建议读者首先将3.1节内容看通透,其余的用到查阅。第四章:
会话状态存储:针对服务器和客户端的会话生存时间,简单地说:若保留,则双方下次重新会话可以直接找到原始的报文标识;否则,双方需要在重新会话前重新发送原始的报文标识。服务质量等级和协议流程:主要讲述3个等级,至于服务流程实质为报文的应答关系(具体看publish命令)
分发协议指的是不同的服务质量等级需要的行走的协议流程,这可以理解一类的流程图,看mqtt协议书的时候可以顺势画出流程图。
消息会有重发的可能性,想上面第一点所说的会话状态存储导致是否需要重发,而对于接收消息不但需要正确的协议流程,同时也需要顺序收发。
主题名和主题过滤器:
主题通配符:这里理解为主题订阅与发布的层级控制,学过数据结构的朋友最好用树的概念去理解。因为在mosquitto代理服务器里面就是应用树来存储订阅报文。
主题过滤器:也就使用通配符来过滤不合适的主题,使得发送的应用信息正确传递到对方。
相关文章推荐
- 如何快速掌握plc或工控机与其他设备的modbus通讯协议?包括格式与实际过程 RT,本人从事工控行业多年,对于PLC与触摸屏也算比较熟悉,唯独对这个通讯协议比较难理解,请教高人指导,从什么地方开始下手,或者是说如何正确理解报文格式或正确写入
- 基于MQTT协议推送Android消息
- Esp8266学习之旅13 动手做个8266毕设小案例,smartConfig + MQTT协议轻松实现远程控制一盏LED。(附带demo)
- 在内网快速判断主机 那些协议可以走通
- MQTT协议-MQTT协议简介及协议原理
- WPF快速指导15:动画
- MQTT协议笔记之mqtt.io项目TCP协议支持
- MySQL数据库引擎快速指导
- 快速可靠协议 - KCP
- MQTT协议简记
- mqtt协议即时消息服务端接收的消息缺少部分字节
- MQTT协议实现Eclipse Paho学习总结二
- 采用MQTT协议实现Android推送
- IoT协议: SharkMQTT 与MQTT
- TCP协议调优-强制快速重传技术(Spurious retransmissions)
- 快速可靠协议-KCP
- joda-time快速上手指导
- 采用MQTT协议实现Android消息推送
- 物联网传输协议MQTT研究
- MQTT协议与mosquitto的安装使用