簡體   English   中英

如何從MQTT JavaScript客戶端連接到Mosquitto服務器?

[英]How to connect from MQTT javascript client to Mosquitto Server?

控制台瀏覽器中的錯誤日志:
“與'ws://127.0.0.1:1883 / mqtt'的WebSocket連接失敗:WebSocket握手期間出錯:net :: ERR_CONNECTION_RESET”

我的代碼.js連接mosquitto服務器:

var options = {
            clientId: 'web-client',
            connectTimeout: 5000,
            hostname: '127.0.0.1',
            port: 1883,
            path: '/mqtt'
        };

var client = mqtt.connect(options);
  • 使用庫mqtt-2.9.0.js
  • 使用mosquitto v1.5.4 Windows10

========================================

雖然1883是用於普通MQTT連接的常用端口-Websockets的常用默認端口是8883。您是否嘗試使用8883端口?

杜爾將我的錯字8888編輯為8883

默認情況下,Mosquitto偵聽端口1883並使用本機MQTT接受連接

如果要通過Websocket與MQTT連接,則需要將Mosquitto配置為偵聽其他端口,並指定使用websockets傳輸。

您可以將以下內容添加到mosquitto.conf中:

listener 8883
protocol websockets

這將導致mosquitto通過Websockets連接在端口8883上偵聽MQTT。

然后,您可以按以下方式修改代碼:

 var options = {
   clientId: 'web-client',
   connectTimeout: 5000,
   hostname: '127.0.0.1',
   port: 8883,
     path: '/mqtt'
   };

var client = mqtt.connect(options);

還值得指出的是,每個連接的客戶端的clientId必須唯一,因此,如果您一次要加載頁面不止一次,則需要使其為動態。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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