MQTT 代表消息队列遥测传输,它是一种功能强大的消息传输协议,主要用于机器对机器 (M2M) 和物联网 (IoT) 通信上下文。 MQTT 在这些情况下是首选,因为它易于实施,并且非常适合资源有限的设备。

https://embed.notionlytics.com/wt/ZXlKd1lXZGxTV1FpT2lKaFpUaGxOak00WXpCbU16UTBPVGMyT1ROaFpXWTBPV1EzT1RFM05HVmxZaUlzSW5kdmNtdHpjR0ZqWlZSeVlXTnJaWEpKWkNJNklsZHNTR2hsVEZSUFdXeHpaVmRhUW1ZNU1YQmxJbjA9

在本文中,我们将开发一个使用 MQTT 协议的 Android 移动应用程序。

MQTT vs HTTP

MQTT 的竞争对手是旧的、但金子般的 HTTP 协议。

但是,为什么要为您的项目选择 MQTT 协议呢?

下面是一个简短的比较表,以更好地阐明主要方面:

综上所述,MQTT 相比 HTTP 更简单、更小、更安全。

MQTT 简而言之

MQTT 是一种发布-订阅客户端-服务器消息传输协议。

让我们明确一下发布-订阅和客户端-服务器架构的含义。

发布订阅

在发布/订阅架构中,发送者(发布者)不直接将消息传输给特定的接收者(订阅者),而是将发布的消息分类为“类别”(称为主题),而不知道可能有哪些订阅者。

发布者和订阅者从不直接相互联系。它们之间的连接由称为代理的第三个组件处理。

现实生活中发布/订阅模式的一个实际例子可能是报纸:记者(出版商)在报纸(经纪人)上写了几篇文章,但他们不知道有多少读者(订阅者)会阅读那篇文章。

客户端服务器

在客户端-服务器架构中,客户端连接到服务器以使用服务。

在 MQTT 上下文中,MQTT 客户端是通过网络连接到 MQTT 代理的设备。 MQTT 代理(服务器)提供的服务是发布和/或订阅一个或多个主题的可能性。在 MQTT 中,客户端可以是发布者和订阅者或两者兼而有之。

连接

在开始主题上的消息交换之前,客户端需要通过向代理发送 CONNECT 消息来启动通信。