1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MQTT分析课案

MQTT分析协议详解概述MQ遥测传输(MQTT)是轻量级的、基于代理的发布/订阅消息传输协议,此协议的设计开放、简单、轻量、易于实现。这些特点使得此协议非常适用于受限环境。例如,但不仅限于此:网络代价昂贵,带宽低、不可靠。在嵌入设备中运行,处理器和内存资源有限。该协议的特点包括:? 1 使用发布/订阅消息模式,提供一对多的消息分发,解除了应用程序之间的耦合。? 2 对负载内容屏蔽的消息传输。? 3 使用TCP/IP提供基础的网络连接。? 4 有三种消息传递服务质量:? “At most once”“至多一次”,消息发布完全依赖于底层的TCP/IP网络,会发生消息丢失或重复。这一级别可用于如下情况,如环境传感器数据,这种情况下,丢失一次读记录无所谓,因为第二个数据的发布紧跟其后。? At lease once“至少一次”,确保消息到达,但可能发生消息重复。? Exactly once“只有一次”,确保消息只到达一次。这一级别可用于如下情况,如计费系统中,消息重复或丢失会导致不正确的收费问题。? 5 小型传输,开销很小(固定长度的头部是2字节),协议交换最小化,以降低网络流量。? 6提供一种机制,使得客户端异常中断时,能够使用LastWill和Testament特性通知有关各方。消息格式每个MQTT命令消息的消息头都包含一个固定的报头。有些消息需要一个可变的报头和一个payload。固定报头每个MQTT命令消息的消息头都包含一个固定的报头。下表显示了固定的报头格式:Byte 1包含Message Type(消息类型)和Flags(DUP,QoS级别,RETAIN)字段Byte 2(至少一个字节)包含Remaining Length(剩余长度)字段。这些字段将会在以下各部分说明。所有数据值都是按照bigi-endian顺序:高端字节跟在低端字节之前。一个16位的字按照如下顺序:最高有效位(MSB)在前,最低有效位(LSB)在后。详见MQTT V3.1可变报文头PayloadCommand messagesCONNECT- 客户端向服务器请求建立连接当客户端向服务器建立一个TCP/IP连接时,协议层会话必须使用一个CONNECT flow建立。CONNACK –连接请求的确认CONNACK message是服务器为了响应来自客户端的CONNECT请求而发送的消息.PUBLISH-发布消息为向感兴趣的订阅者分发消息,客户端向服务器发布了一条PUBLISH消息。每一条PUBLISH消息都与一个主题名相关联(主题名又称Subject或Channel)。这是一个分层的名称空间,定义了一个信息源分类,订阅者可以注册一个兴趣。一个发布到某个特定主题名的消息会被传递给订阅了该主题的在线订阅者。如果客户端订阅了一个或多个主题,任何发布到这些主题上的消息都会作为PUBLISH消息被服务器发送给客户端。PUBACK-发布确认PUBACK消息是对QoS级别为1的PUBLISH消息的响应。一个PUBACK消息可以是服务器为了响应来自发布客户端的PUBLISH消息而发送,也可以是订阅者为了响应来自服务器的PUBLISH消息而发送的。PUBREC–确保发布被收到PUBREC消息是用来响应QoS级别为2的PUBLISH消息的。这是QoS级别为2的protocol flow(协议流)的第二个消息。PUBREC消息由服务器发送以响应发布客户端的PUBLISH消息,或者由订阅者发送以响应来自服务器的PUBLISH消息。(QoS级别为2时,当客户端发布一条消息,服务端收到后要给出PUBREC响应;订阅者收到发布的消息也要给出PUBREC响应,确保发布过程的各个环节)PUBREL-Assured Publish ReleasePUBREL消息是QoS级别为2的协议流的第3个消息。PUBREL消息用用来响应PUBREC消息的,可以是发布者对来自服务器的PUBREC的响应,也可以是服务器对来自订阅者的PUBREC的响应。(双方互相确认,确保发布的消息到了server,也到了各个订阅者)PUBCOMP-确保发布完成这是QoS基本为2的协议流的第4个,也是最后一个消息。这个消息是对PUBREL消息的响应。SUBSCRIBE-订阅主题(可多个)客户端用SUBSCRIBE消息可以向服务器注册一个或多个感兴趣的主题名。向这些主题发布的消息会被服务器以PUBLISH消息的形式传递给订阅者。SUBSCRIBE消息还指定了QoS的级别,以指导订阅者接收发布的消息。SUBACK – 订阅确认服务器给客户端发送一个SUBACK,以证明已经收到了SUBSCRIBE消息。SUBACK消息包含一系列的授权QoS级别,SUBACK消息中的授权QoS级别的顺序与相应的SUBSCRIBE消息中的主题名的排列顺

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档