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

MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议,有可能成为物联网的重要组成部分。该协议支持所有平台,几乎可以把所有联网物品和外部连接起来,被用来当做传感器和致动器(比如通过Twitter让房屋联网)的 HYPERLINK /lemma/ShowInnerLink.htm?lemmaId=248580ss_c=ssc.citiao.link \t _blank 通信协议。 MQ遥测传输(MQTT)是轻量级基于代理的发布/订阅的消息传输协议,设计思想是开放、简单、轻量、易于实现。这些特点使它适用于受限环境,例如,但不仅限于此: ?网络代价昂贵、带宽低、不可靠。 ? 在嵌入设备中运行,处理器和内存资源有限。 该协议的特点包括: ?使用发布/订阅消息模式提供一对多的消息发布解除应用程序耦合。 ?对负载内容屏蔽的消息传输。 ?使用TCP/IP提供网络连接。 消息传递的三种服务特点: ? “至多一次”,消息发布完全依赖于底层TCP/IP网络。会发生消息丢失或重复。这一级别可用于如下情况,环境传感器数据,丢失一次读记录无所谓,因为不久后还会有第二次发送。 ? “至少一次”,信息是保证到达的但可能会发生重复; ? “至少一次”,确保消息到达,但消息重复可能会发生。 ?“只有一次”,确保消息到达一次。这一级别可用于如下情况,在计费系统中,消息重复或丢失会导致不正确的结果。 ?小型传输,开销很小(固定长度的头部是2字节),协议交换最小化,以降低网络流量。 ?使用Last Will和Testament特性通知有关各方客户端异常中断的机制。 保留: 在不收费和版权费的条件下,只要你拥有该规范的全部或部分副本,IBM和Eurotech公司(共同作者)授权允许用户复制和显示MQ遥测传输规范。这样你可以: 该规范的链接或URL在作者的其中一个网站上; 版权声明显示在规范中; 他们认为有必要实施规范,在合理,非歧视的条款和条件下,每个作者同意授予您免版税许可使用它们各自的专利。本规范“原样”和作者作出任何陈述或保证,明示或默示的担保,包括但不限于适销性,适用于特定用途,不侵权,或所有权的担保;该规范内容适用于任何用途;也不是说这些内容的实施将不会侵犯任何第三方的专利,版权,商标或其他权利。作者将不承担任何直接,间接,特殊,偶然或必然的损失所产生的或与之相关的规范的任何使用或分发。事先明确的书面许可,不得以任何方式使用作者的名称和商标,包括广告或宣传有关的规范。 1 介绍 该规范被分成三个主要部分: ?所有的数据包类型的消息格式 ?每个数据包类型的具体细节 ?数据包如何在服务器及客户端传输 附录里提供了如何使用主题通配符(topic wildcard)的信息 1.1改变 以下是在MQTT V3和MQTT V3.1之间的发生的变化: ?用户名及密码能在“CONNECT”包里一并发出 ?由于安全问题,“CONNACK”包里定义了新的返回码 ?未认证“PUBLIC”或“SUBSCRIBE”的命令不会通知客户端,即使该命令尚未执行完成MQTT流程 ?MQTT现在支持完整的UTF-8字符集,而不是仅仅是US-ASCII 子集。 “CONNECT”数据包里协议号仍保持不变,仍然为“3”,现有的MQTT V3服务器实现应能够接受来自客户端的连接,支持本次修订,只要他们正确考虑了的“Remaining Length”字段,只是忽略了额外的安全信息。 (通过的连接数据包的协议版本号,这个版本不做改变,仍保持为“3”。 现有的MQTT V3服务器应用应该能够接受来自客户端的支持这个版本的连接,只要他们正确地保留“剩余时间”字段,因此忽略额外的安全信息。) 2.消息格式 每个MQTT命令消息的消息头中包含一个固定的报头。一些消息还需要一个可变报头和有效载荷。对于消息头部的每个部分的格式在下面的章节中描述: 固定报头 每个MQTT命令消息的消息头中包含一个固定的头。下表显示了固定报头格式: Byte1: 包含消息类型和标识(DUP(Duplicate delivery-重复传送),QoS level和RETAIN)字段。 Byte2: (至少有一个字节)包含剩余长度字段。 这些字段会在以下各部分说明。所有数据值都是bigi-endian(大端)排序,高字节在低字节之前。一个16位单词先是最高有效位(MSB),其次是最低有效位(LSB) 消息类型 Position(位置):字节1,位7-4。表示为一个4位无符号值。此版本协议的举例示于下表: 助记符 列举 描述 Reserved 0 保留(RETAIN flag) CONNECT 1 客户端请求连接到服务器(Client request to c

文档评论(0)

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

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

1亿VIP精品文档

相关文档