MQTT 快速入门

随着 5G 时代的来临,万物互联的伟大构想正在成为现实。海量的设备接入和设备管理对网络带宽、通信协议以及平台服务架构都带来了很大挑战。

MQTT 协议 是基于发布/订阅模式的物联网通信协议,凭借简单易实现、支持 QoS、报文小等特点,占据了物联网协议的半壁江山。

MQTT 基础

MQTT 协议是什么

MQTT 协议是基于 发布/订阅 模式的物联网通信协议,凭借简单易实现、支持 QoS、报文小等特点,占据了物联网协议的半壁江山。

MQTT 发布订阅模式介绍

MQTT 发布订阅模式区别于传统的客户端/服务器模式,它使发布者与订阅者分离,发布者与订阅者不需要建立直接联系。

如何使用 MQTT 报文实现发布订阅功能

MQTT 协议通过交换预定义的MQTT控制报文来通信。下面以 MQTTX 为例,展示如何通过 MQTT 报文实现发布订阅功能。

MQTT 主题的高级特性

MQTT 协议基于主题进行消息路由,服务端会将消息路由至订阅了该主题的所有客户端,主题类似 URL 路径,可以有多个级别。

MQTT 特性

MQTT QoS(服务质量)介绍

MQTT 协议中规定了消息服务质量 QoS(Quality of Service),它保证了在不同的网络环境下消息传递的可靠性,QoS 的设计是 MQTT 协议里的重点。

MQTT 会话

从客户端向服务端发起 MQTT 连接请求开始,到连接中断直到会话过期为止的消息收发序列称之为会话,会话可能仅持续一个网络连接,也可能跨越多个网络连接存在。

MQTT 保留消息

MQTT 客户端向服务器发布消息时,可以设置保留消息标志,后来的订阅者订阅主题时可以接收到最新一条保留消息。

MQTT 遗嘱消息(Will Message)的使用

当客户端断开连接时,发送给相关的订阅者的遗嘱消息。

MQTT 5 相关教程

MQTT 5.0 介绍

OASIS MQTT 技术委员会为 MQTT 5.0 添加了大量的全新功能与特性,5.0 成为 MQTT 有史以来变化最大的一个版本。

MQTT 5.0 原因码与 ACK

MQTT v3.1.1 协议只有 10 种返回码,这些返回码所能表示的含义很少,且相同的返回码的值在不同的报文中可以有不同的含义。

MQTT 5.0 请求响应

MQTT 5.0 新增了响应主题(Response Topic)属性,并定义了请求响应的交互过程,本文将以通俗易懂的方式介绍该特性。

MQTT 5.0 订阅标识符与订阅选项

MQTT 5.0 带来了很多新的特性,本文将以通俗易懂的方式介绍新增特性中订阅标识符和订阅选项的使用。

MQTT 5.0 增强认证

基于安全性考虑,MQTT 5.0 增加了“增强认证”新特性 ,增强认证包含质询/响应风格的认证,可以实现对客户端和服务器的双向认证。

MQTT 5.0 Clean Start 与 Session Expiry Interval

MQTT 5.0 中的 Clean Start 与 Session Expiry Interval 不仅解决了 Clean Session 的遗留问题,同时也扩展了客户端的使用场景,使 MQTT 协议在受限的网络环境下更加实用。

MQTT 5.0 有效载荷标识与内容类型

有效载荷标识(Payload Format Indicator)与内容类型(Content Type)是 MQTT 5.0 新引入的两个属性。

MQTT 5.0 共享订阅

共享订阅是 MQTT 5.0 协议引入的新特性,相当于是订阅端的负载均衡功能。

MQTT 5.0 流量控制

MQTT 5.0 带来了很多新的特性,本文将以通俗易懂的方式介绍新增特性“流量控制”的使用。

MQTT 客户端编程

如何在 React 项目中使用 MQTT

本文主要介绍如何在 React 项目中使用 MQTT,实现客户端与 MQTT 服务器的连接、订阅、收发消息、取消订阅等功能。

如何在 Rust 中使用 MQTT

本文将介绍如何在 Rust 项目中使用 paho-mqtt ,实现客户端与 MQTT 服务器的连接、订阅、取消订阅、收发消息等功能。

如何在 Electron 项目中使用 MQTT

本文将介绍如何在 Electron 项目中使用 MQTT,完成一个简单的 MQTT 桌面客户端并实现 MQTT 的连接、订阅、收发消息等功能。

如何在 Vue 项目中使用 MQTT

本文主要介绍如何在 Vue 项目中使用 MQTT,并实现客户端与 MQTT 服务器的连接、订阅、收发消息、取消订阅等功能。

如何在 Golang 中使用 MQTT

本文将介绍如何在 Golang 项目中使用 paho.mqtt.golang 库 ,并实现客户端与 MQTT 服务器的连接、订阅、收发消息等功能。

如何在 Python 中使用 MQTT

本文将介绍如何在 Python 项目中使用 paho-mqtt 客户端库 ,并实现客户端与 MQTT 服务器的连接、订阅、收发消息等功能。

1 个赞