簡體   English   中英

MQTT JavaScript客戶端未連接(協議錯誤?)

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM