[英]Error While connecting to MQTT Broker using JavaScript MQTT Client With Websockets
[英]MQTT JavaScript client not connecting (wrong protocol?)
我非常努力地使我的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');
});
但是,当我使用Bower软件包在前端运行相同的代码(当然不需要)时,客户端无法连接。 我还尝试了其他MQTT browserfied JS软件包。 我更喜欢MQTT.js,而不是Paho,因为我想对一个连接的客户端使用多个订阅。
如果console.log(client);
, protocol: 'mqtt'
使用protocol: 'mqtt'
和protocolId: 'MQTT'
。 前端使用protocol: 'ws'
和protocolId: 'MQTT'
。 这可能是问题吗? 将这些选项添加到mqtt.connect无效。
在浏览器中,唯一的选择将是通过Websockets通过MQTT连接。 CloudMQTT通过websocket对本机MQTT和MQTT使用不同的端口号,因此您还需要将基于浏览器的代码的端口号更改为CloudMQTT仪表板中列出的Websocket端口。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.