Mosquitto: WebSockets

如何使用 WebSockets 连接到 MQTT

👋 欢迎来到 Stackhero 文档!

Stackhero 为您提供一个全托管的 Mosquitto MQTT cloud 环境,专为高可靠性和灵活性设计:

  • 无限制的消息吞吐量和数据传输,确保您的工作流程不会受到人为限制。
  • 通过您自己的外部 API 实现无限制的设备认证,让设备接入和访问管理变得简单高效。
  • 高级 ACLs,可对主题、用户和操作进行精细化权限控制。
  • 提供自定义域名,并内置HTTPS,为您的终端提供安全且具品牌形象的访问入口(例如:https://mqtt.your-company.com)。
  • 一键更新,轻松应用功能改进或安全补丁,无需繁琐操作。
  • 始终如一的高性能强安全性,每个实例都运行在专属私有基础设施上。

加速您的 IoT 项目,大幅降低运维负担。只需几分钟,您就可以拥有一个安全、可用于生产环境的 Mosquitto MQTT cloud hosting 实例。

您有两种主要方式可以连接到 Mosquitto:原生 MQTT 协议或 WebSockets。

MQTT 协议以其轻量级设计而广受认可,非常适合 IoT 设备和资源受限的环境。然而,大多数网页浏览器并不支持直接的 MQTT 连接。这时 WebSockets 就派上用场了,因为它允许您通过 WebSocket 连接运行 MQTT,使您的基于浏览器的应用能够与 MQTT 服务器进行交互。

要开始使用 WebSockets,您只需在 Stackhero 控制台中启用“WebSocket 支持”选项。启用该功能后,只需将您的客户端指向 WebSocket URL:wss://<XXXXXX>.stackhero-network.com:443。这个地址将替代标准的 MQTT 安全 URL,后者通常为:mqtts://<XXXXXX>.stackhero-network.com

如果您的应用是用 JavaScript 编写的,建议您可以考虑使用 MQTT.js 库。它是一款灵活的选择,既可在 Node.js 环境下运行,也可直接在浏览器中使用。该库的文档和源代码可在这里找到:https://github.com/mqttjs/MQTT.js

您可以在这个示例仓库中找到如何通过 WebSockets 将 Web 应用连接到 MQTT 服务器的实际演示:https://github.com/stackhero-io/mqttWebSocketGettingStarted

在测试该示例时,请记得将 src/index.html 文件中的 urlusernamepassword 替换为您自己的服务器信息。

MQTT WebSocket 示例MQTT WebSocket 示例

请确保在继续操作前,已在 Stackhero 控制台中激活 WebSocket 支持。