Mosquitto: WebSockets

如何使用WebSockets连接到MQTT

👋 欢迎来到 Stackhero 文档!

Stackhero 提供即用型 Mosquitto MQTT 云 解决方案,具有众多优势,包括:

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

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

您可以使用MQTT协议或WebSockets连接到Mosquitto。

MQTT协议以其轻量级著称,是物联网设备的理想选择。然而,直接的MQTT连接对于Web应用程序来说不可行,因为浏览器不原生支持MQTT。为了解决这个问题,您可以利用WebSocket支持,将MQTT封装在WebSocket连接中。

要启用WebSocket使用,您可以在Stackhero仪表板中激活“WebSocket支持”选项。启用后,配置您的客户端使用URL wss://XXXXX.stackhero-network.com:443作为服务器地址进行连接。这将替代标准的MQTT连接URL mqtts://XXXXX.stackhero-network.com

如果您正在开发基于JavaScript的应用程序,可以考虑使用MQTT.js库。该库非常多功能,并且在Node.js环境和直接在Web浏览器中都能无缝工作。您可以在此处找到其文档和存储库: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支持。