gpt4 book ai didi

javascript - MQTT JavaScript 客户端未连接(协议(protocol)错误?)

转载 作者:太空宇宙 更新时间:2023-11-04 00:47:08 34 4
gpt4 key购买 nike

我正在努力让我的 MQTT 客户端在我的应用程序中工作。该经纪人由CloudMQTT提供.

尝试在 NodeJS 中运行以下代码时,客户端正确连接到 MQTT;

var mqtt = require('mqtt');

var client = mqtt.connect(
"mqtt://m20.cloudmqtt.com",
{
port: 11212,
username: "XXXXXXXX",
password: "XXXXXXXX"
}
);

client.on('connect', function () {
console.log('connected');
});

但是,当我使用 the Bower package 在前端运行相同的代码(当然不需要)时,客户端无法连接。我还尝试过其他 MQTT browserfied JS 包。我更喜欢 MQTT.js 而不是 Paho,因为我想通过一个连接的客户端使用多个订阅。

如果 console.log(client);,NodeJS 使用 protocol: 'mqtt'protocolId: 'MQTT'。前端使用 protocol: 'ws'protocolId: 'MQTT'。这可能是问题所在吗?将这些选项添加到 mqtt.connect 没有任何效果。

最佳答案

在浏览器中,唯一的选择是通过 Websockets 上的 MQTT 进行连接。 CloudMQTT 对 native MQTT 和基于 Websockets 的 MQTT 使用不同的端口号,因此您还需要将基于浏览器的代码的端口号更改为 CloudMQTT 仪表板中列出的 Websocket 端口。

关于javascript - MQTT JavaScript 客户端未连接(协议(protocol)错误?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34203321/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com