欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mqtt.js?無(wú)法連接/錯(cuò)誤提示?WebSocket?connection?to?‘ws://xxxxx‘?failed:的解決方法

 更新時(shí)間:2023年04月04日 16:54:46   作者:最兇殘的小海豹  
這篇文章主要介紹了mqtt.js?無(wú)法連接/錯(cuò)誤提示?WebSocket?connection?to?‘ws://xxxxx‘?failed:,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

檢查點(diǎn):

  • 檢查自己的頁(yè)面是http還是https的,然后核對(duì)用的是mqtt/mqtts,或者是ws/wss
  • 檢查自己的地址是否對(duì)(尤其是BasePath),我一開始地址應(yīng)該是ws://xxxxx/mqtt(BasePath是mqtt),結(jié)果我一直用ws://xxxxx。(有的BasePath是 mqtt/ws,連接地址應(yīng)該就是 ws://xxxxx/mqtt/ws
  • 注意端口號(hào),我使用的mqtt服務(wù)ws和mqtt端口號(hào)不一樣

如果以上兩點(diǎn)都沒(méi)問(wèn)題的話,那么就和我當(dāng)下的情況一樣了
使用 mqtt://xxxxx/mqtt 怎么都連不上,就提示 WebSocket connection to 'ws://xxxxx' failed:

來(lái)看看小編挑選的這款手機(jī)你是否感興趣:

解決方法:

直接使用 ws://xxxxx/mqtt ,記得切換端口號(hào),其他的都不改變,只是改了連接地址

  const connectUrl = `ws://xxxxx/mqtt`;	// 用這個(gè)就好了
  //  const connectUrl = `mqtt://xxxxx/mqtt`;	// 用這個(gè)報(bào)錯(cuò)了,用上面的就好了
  const clientId = `mqtt_${Math.random().toString(16).slice(3)}`;

  var client = mqtt.connect(connectUrl, {
    clientId,
    clean: true,
    connectTimeout: 4000,
    username: 'username',
    password: '123456',
    reconnectPeriod: 1000,
  })
  const topic = '/nodejs/mqtt'
  client.on('connect', () => {
    console.log('Connected')
    client.subscribe([topic], () => {
      console.log(`Subscribe to topic '${topic}'`)
    })
  })

如果不確定自己配置的對(duì)不對(duì),可以用下面的地址測(cè)試

使用EMQX 提供的 免費(fèi)公共 MQTT 服務(wù)器,該服務(wù)基于 EMQX 的 MQTT 物聯(lián)網(wǎng)云平臺(tái) 創(chuàng)建。
服務(wù)器接入信息如下:

Broker: broker.emqx.io
TCP Port: 1883
Websocket Port: 8083

const connectUrl = `ws://broker.emqx.io:8083/mqtt`;

client = mqtt.connect(connectUrl, {
  clean: true,
  connectTimeout: 4000,
  reconnectPeriod: 1000,
  clientId: 'emqx_test',
  username: 'emqx_test',
  password: 'emqx_test'
})

// 需要訂閱的主題
const topic = 'test';

//成功連接后觸發(fā)的回調(diào)
client.on('connect', () => {
  console.log('已經(jīng)連接成功');
  // 這里可以訂閱多個(gè)主題
  client.subscribe([topic], () => {
    console.log(`訂閱了主題 ${topic}`)
  })
});

// 當(dāng)客戶端收到一個(gè)發(fā)布過(guò)來(lái)的消息時(shí)觸發(fā)回調(diào)
client.on('message', function (message) {
  // 這里有可能拿到的數(shù)據(jù)格式是Uint8Array格式,所以可以直接用toString轉(zhuǎn)成字符串
  // let data = JSON.parse(message.toString());
  console.log("返回的數(shù)據(jù):", message)
});

// 連接斷開后觸發(fā)的回調(diào)
client.on("close", function () {
  console.log("已斷開連接")
});

結(jié)果

在這里插入圖片描述

到此這篇關(guān)于mqtt.js 無(wú)法連接/錯(cuò)誤提示 WebSocket connection to ‘ws://xxxxx‘ failed:的文章就介紹到這了,更多相關(guān)mqtt.js 無(wú)法連接內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論