我努力使我的MQTT客戶端在我的應用程序內工作。經紀人由CloudMQTT提供。MQTT JavaScript客戶端沒有連接(錯誤的協議?)
當試圖在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瀏覽器JS包。我更喜歡MQTT.js而不是Paho,因爲我想在一個連接的客戶端上使用多個訂閱。
如果console.log(client);
,NodeJS使用protocol: 'mqtt'
和protocolId: 'MQTT'
。前端使用protocol: 'ws'
和protocolId: 'MQTT'
。這可能是問題嗎?將這些選項添加到mqtt.connect不起作用。
我不確定您對PAHO客戶端的多個訂閱意味着什麼。您可以使用PAHO客戶端訂閱多個主題 – hardillb