- 1、本文档共43页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MQTTv3.1中文版
MQTT v 3.1 中⽂版
Abstract/概览(MQTT V3.1)
MQ遥测传输(MQTT)是轻量级基于代理的发布/订阅的消息传输协议,设计思想是开放、简单、轻量、
易于实现。这些特点使它适用于受限环境。例如,但不仅限于此:
• 网络代价昂贵,带宽低、不可靠。
• 在嵌入设备中运行,处理器和内存资源有限。
该协议的特点有:
• 使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合。
• 对负载内容屏蔽的消息传输。
• 使用TCP/IP提供网络连接。
• 有三种消息发布服务质量:
• “至多一次” ,消息发布完全依赖于底层TCP/IP 网络。会发生消息丢失或重复。这一级别可用于如
下情况,环境传感器数据,丢失一次读记录无所谓,因为不久后还会有第二次发送。
• “至少一次” ,确保消息到达,但消息重复可能会发生。
• “只有一次” ,确保消息到达一次。这一级别可用于如下情况,在计费系统中,消息重复或丢失会
导致不正确的结果。
• 小型传输,开销很小(固定长度的头部是2字节),协议交换最小化,以降低网络流量。
• 使用LastWill和Testament特性通知有关各方客户端异常中断的机制。
1. Introduction/介绍(MQTT V3.1)
本规范被分成三个主要部分:
• 所有的数据包类型的消息格式
• 每个数据包类型的具体细节
• 数据包如何在服务器及客户端传输
附录里提供了如何使用主题通配符(topic wildcard)的信息
1.1 v3.0与v3.1的一些变化
以下是MQTT V3和MQTT V3.1之间的变化:
• 用户名及密码能在“CONNECT”包里一并发出
• 由于安全问题,“CONNACK”包里定义了新的返回码
• 未认证“PUBLIC”或“SUBSCRIBE” 的命令不会通知客户端,即使该命令尚未执行完成MQTT流程
• MQTT现在支持完整的UTF-8字符集,而不是仅仅是US-ASCII subset。
“CONNECT”数据包里协议号仍保持不变,仍然为“3” ,现有的MQTT V3服务器实现应能够接受来自客户端
的连接,支持本次修订,只要他们正确考虑了的“Remaining Length”字段,只是忽略了额外的安全信息。
1
MQTT v 3.1 中⽂版
2. Message format/消息格式(MQTT
V3.1 )
每个MQTT命令消息的消息头都包含一个固定的报头。一些消息也要求一个可变的报头和一个payload。
下面将描述消息头的格式:
2.1 Fixed header / 固定报头
2.2 Variable header / 可变报头
2.3 Payload
2.4 Message identifiers
2.5 MQTT and UTF-8
2.6 Unused bits
2.1 Fixed header/固定报头(MQTT
V3.1 )
每个MQTT命令消息的消息头都包含一个固定的报头。下表显示了固定的报头格式。
Byte 1
包含消息类型和FLAGS( (DUP ,QoS级别,RETAIN)字段
Byte 2
(至少一个字节)包含的剩余长度字段。
这些字段会在以下各部分说明。所有数据值都是bigi-endian (大端)order :高字节在低字节之前。一个
16位字先是最高有效位(MSB),其次是最低有效位(LSB)
2
MQTT v 3.1 中⽂版
消息类型
位置:byte 1 ,bits 7-4
无符号4位值,这个版本的枚举值如下表所示:
(0-保留;1-客户端请求连接到服务器;2-连接确认;3-发布消息;4-发布确认;5-发布收稿
(有保证的交付第1部分);6-出版发行(有保证交付第2部分);7-发布完整(有保证的交付第3部
分);8-客户端订阅请求;9-订阅确认;10-客户端退订请求;11-退订确认;12-ping请求;13-
ping相应;14-客户端端口;15-保留;)
FLAGS
剩下的三位分别为DUP ,QoS及RETAIN字段,bit位置
文档评论(0)