mqtt.js?無法連接/錯(cuò)誤提示?WebSocket?connection?to?‘ws://xxxxx‘?failed:的解決方法
檢查點(diǎn):
- 檢查自己的頁面是
http還是https的,然后核對用的是mqtt/mqtts,或者是ws/wss - 檢查自己的地址是否對(尤其是
BasePath),我一開始地址應(yīng)該是ws://xxxxx/mqtt(BasePath是mqtt),結(jié)果我一直用ws://xxxxx。(有的BasePath是mqtt/ws,連接地址應(yīng)該就是ws://xxxxx/mqtt/ws) - 注意端口號,我使用的mqtt服務(wù)
ws和mqtt端口號不一樣
如果以上兩點(diǎn)都沒問題的話,那么就和我當(dāng)下的情況一樣了
使用 mqtt://xxxxx/mqtt 怎么都連不上,就提示 WebSocket connection to 'ws://xxxxx' failed:
來看看小編挑選的這款手機(jī)你是否感興趣:
解決方法:
直接使用 ws://xxxxx/mqtt ,記得切換端口號,其他的都不改變,只是改了連接地址
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}'`)
})
})如果不確定自己配置的對不對,可以用下面的地址測試
使用EMQX 提供的 免費(fèi)公共 MQTT 服務(wù)器,該服務(wù)基于 EMQX 的 MQTT 物聯(lián)網(wǎng)云平臺 創(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ā)布過來的消息時(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 無法連接/錯(cuò)誤提示 WebSocket connection to ‘ws://xxxxx‘ failed:的文章就介紹到這了,更多相關(guān)mqtt.js 無法連接內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
深入學(xué)習(xí)JavaScript執(zhí)行上下文
這篇文章主要介紹了深入學(xué)習(xí)JavaScript執(zhí)行上下文,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下,希望對你的學(xué)習(xí)有所幫助2022-08-08
svg插入foreignObject無法響應(yīng)事件解決
這篇文章主要為大家介紹了svg插入foreignObject無法響應(yīng)事件解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10
利用JS實(shí)現(xiàn)scroll自定義滾動效果詳解
這篇文章主要給大家介紹了關(guān)于利用JS如何實(shí)現(xiàn)scroll自定義滾動效果的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-10-10
前端必知必會的實(shí)現(xiàn)URL查詢參數(shù)的方法詳解
URL?參數(shù)查詢是指在?URL?中使用問號(?)后面附加的鍵值對參數(shù),本文為大家詳細(xì)介紹了前端實(shí)現(xiàn)URL查詢參數(shù)的方法,希望對大家有所幫助2025-02-02

