如何在不使用 js 库的情况下使用 websocket 连接 mqtt?

How to connect with mqtt using websocket without using js libraries?

我有一个业务需求,我想连接 mqtt 服务器(在我的例子中使用蚊子)而不使用可用的库,如 paho js 或其他。我不想使用库,而是想简单地使用

var ws = new Websocket(maqtt_url);

创建 websocket 连接后,我想订阅一个主题并接收消息。主题订阅可以硬编码。

这可能吗?

当然可以,但您最终将自己重写所有 paho 库并将其包含在您的应用程序中。

如果您真的想走这条路,那么可以找到 MQTT 规范 here,它将告诉您

的格式
  • 连接数据包
  • 订阅包
  • 消息包
  • 保持活动数据包

为了保持与代理的连接,您需要实施所有这些。

在不使用库的情况下对 mqtt 协议数据进行编码的 mqtt over websockets 示例可用 here。这可能是开发应用程序的良好起点。