第13课:MQTT 5.0 协议新特性

在前面的课程里,我们使用的是 MQTT 3.1.1 版本,也是目前支持和使用最广泛的版本。2017 年 8 月,OASIS MQTT Technical Committee 正式发布了用于 Public Review 的 MQTT 5.0 的草案。2018 年,MQTT 5.0 已正式发布,虽然目前支持 MQTT 5.0 的 Broker 和 Client 库还比较有限,但是作为 MQTT 未来的发展方向,我认为了解 5.0 的新特性还是很有必要的,也许看完你就想马上迁移到 MQTT 5.0 呢!

MQTT 5.0 在 MQTT 3.1.1 的基础上做了很多改变,同时也不是向下兼容的。在这里我挑了几个我认为比较实用的新特性进行介绍,这些新特性能够解决在 3.1.1 版本中较难处理的问题。

作为 MQTT 3.1.1 的后续版本,为什么版本号直接变成了 5.0?因为 3.1.1 在 CONNECT 的时候指定的 Protocol Version 为 4,所以后续版本只有使用 5 了。本节课核心内容:

  • 用户属性(User Properties)
  • 共享订阅(Shared Subscriptions)
  • 消息过期(Publication Expiry Interval)
  • 重复主题
  • Broker 能力查询
  • 双向 DISCONNECT

13.1 用户属性(User Properties)

5.0 中可以在 PUBLISH、CONNECT 和带有 Return Code 的数据包中夹带一个和多个用户属性数据:

  • 在 PUBLISH 包中携带的用户属性由发送方的应用定义,随消息被 Broker 转发到消息的订阅方;

你可能感兴趣的:(MQTT,协议快速入门,物联网,MQTT)