[英]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.