常见问题

MQTT 是一个用于物联网连接的 OASIS 标准。它是一个发布/订阅模式、极其简单和轻量级的消息协议,专为受限设备以及低带宽、高延迟或不可靠的网络而设计。其设计原则是最小化网络带宽和设备资源要求,同时努力确保可靠性和一定程度的交付保证。这些原则也使得该协议成为“物联网”世界中互联设备的理想选择,也适用于对带宽和电池续航有严格要求的移动应用程序。

MQTT 由 IBM 的 Dr. Andy Stanford-Clark 和 Arcom(现为 Eurotech)的 Arlen Nipper 于 1999 年发明。

自 1999 年以来,MQTT 已在各种行业中得到广泛应用。一些比较有趣的例子列在用例页面上。

v5.0 和 v3.1.1 现已成为 OASIS 标准(v3.1.1 也已获得 ISO 批准)。

是的。TCP/IP 端口 1883 已在 IANA 预留用于 MQTT。TCP/IP 端口 8883 也已注册,用于通过 SSL 使用 MQTT。

您可以在协议的 V3.1 版本中通过 MQTT 数据包传递用户名和密码。网络上的加密可以通过 SSL 处理,独立于 MQTT 协议本身(值得注意的是,SSL 不是最轻量级的协议,并且会增加显著的网络开销)。应用程序可以通过加密发送和接收的数据来增加额外的安全性,但这并非协议内置功能,目的是为了保持其简单和轻量。

规范和其他文档可通过规范页面获取。您可以通过 StackOverflow 上的方法之一提问。您可以通过软件页面上的项目之一尝试代码。

术语和缩写

一个代理是一个将发布的消息路由给订阅者的服务器。

两个 MQTT 代理之间的连接

来自 IBM 的 Really Small Message Broker,现已成为 Eclipse Mosquitto 项目的一部分

Eclipse Paho 消息项目。

服务质量等级