Mosquitto: WebSockets

如何使用 WebSockets 连接到 MQTT

👋 欢迎来到 Stackhero 文档!

Stackhero 提供现成的 Mosquitto MQTT 云 解决方案,具有众多优势,包括:

  • 无限消息交换和传输。
  • 通过外部 API 进行无限设备认证。
  • 针对主题、用户和操作的高级 ACLs
  • 使用 HTTPS 保护的可定制域名(例如,https://mqtt.your-company.com)。
  • 只需点击即可轻松更新
  • 专用私有 VM提供的最佳性能和强大安全性

节省时间简化生活:只需 5 分钟即可试用 Stackhero 的 Mosquitto MQTT 云托管 解决方案!

您有两种主要方式可以连接到 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 支持。