web|web -- js 实现 MQTT 连接

【web|web -- js 实现 MQTT 连接】先上链接
流程:
var mqtt = require('mqtt')var clientId = 'mqttjs_' + Math.random().toString(16).substr(2, 8)var host = 'wss://localhost:3001/Mosca'var options = { keepalive: 10, clientId: clientId, protocolId: 'MQTT', protocolVersion: 4, clean: true, reconnectPeriod: 1000, connectTimeout: 30 * 1000, will: { topic: 'WillMsg', payload: 'Connection Closed abnormally..!', qos: 0, retain: false }, username: 'demo', password: 'demo', rejectUnauthorized: false }var client = mqtt.connect(host, options)client.on('error', function (err) { console.log(err) client.end() })client.on('connect', function () { console.log('client connected:' + clientId) })client.subscribe('topic', { qos: 0 })client.publish('topic', 'wss secure connection demo...!', { qos: 0, retain: false })client.on('message', function (topic, message, packet) { console.log('Received Message:= ' + message.toString() + '\nOn topic:= ' + topic) })client.on('close', function () { console.log(clientId + ' disconnected') })

注意事项 客户端的默认端口是 8083 不是 1883
Protocol Listen On Max Clients Current Clients
mqtt:wss 8084 64 0
mqtt:ssl 8883 1024 0
mqtt:ws 8083 64 0
mqtt:tcp 0.0.0.0:1883 102400 0
mqtt:tcp 127.0.0.1:11883 102400 0
dashboard:http 18083 512 4
出现无限连接是因为数据没有发送成功,于是会一直连接,直到连接成功。
Qos 说明
0 已发送
1 服务端确认收到
2 都确认收到
https://github.com/0123cf/MQTT.js

    推荐阅读