检查点:
- 检查自己的页面是
http还是https 的,然后核对用的是mqtt/mqtts ,或者是ws/wss - 检查自己的地址是否对,我一开始地址应该是
ws://xxxxx/mqtt ,结果我一直用ws://xxxxx ,注意端口号,我使用的mqtt服务ws和mqtt端口号不一样
如果以上两点都没问题的话,那么就和我当下的情况一样了 使用 mqtt://xxxxx/mqtt 怎么都连不上,就提示 WebSocket connection to 'ws://xxxxx' failed:
解决方法: 直接使用 ws://xxxxx/mqtt ,记得切换端口号,其他的都不改变,只是改了连接地址
const connectUrl = `ws://xxxxx/mqtt`;
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}'`)
})
})
|