MQTT.js
MQTT.js copied to clipboard
[Bug]:
MQTTjs Version
5.3.5
Broker
emqx/emqx:5.4.1
Environment
NodeJS
Description
mqtt's been reconnecting
Minimal Reproduction
const mqtt = require("mqtt");
const client = mqtt.connect("mqtt://test.mosquitto.org");
client.on("connect", () => {
client.subscribe("presence", (err) => {
if (!err) {
client.publish("presence", "Hello mqtt");
}
});
});
client.on("message", (topic, message) => {
// message is Buffer
console.log(message.toString());
client.end();
});
Debug logs
mqttjs:client reconnectTimer :: reconnect triggered! +1s
mqttjs:client _reconnect: emitting reconnect to client +0ms
mqttjs:client _reconnect: calling connect +0ms
mqttjs:client connect :: calling method to clear reconnect +0ms
mqttjs:client _clearReconnect : clearing reconnect timer +0ms
mqttjs:client connect :: using streamBuilder provided to client to create stream +0ms
mqttjs calling streambuilder for wss +1m
mqttjs:ws streamBuilder +1m
mqttjs:ws createWebSocket +0ms
mqttjs:ws protocol: MQTT 4 +0ms
mqttjs:ws creating new Websocket for url: wss://mqtt.xxx.com:443/mqtt and protocol: mqtt +0ms
mqttjs:client connect :: pipe stream to writable stream +3ms
mqttjs:client connect: sending packet `connect` +0ms
mqttjs:client _writePacket :: packet: {
mqttjs:client cmd: 'connect',
mqttjs:client protocolId: 'MQTT',
mqttjs:client protocolVersion: 4,
mqttjs:client clean: true,
mqttjs:client clientId: 'mqttjs_5df8db01',
mqttjs:client keepalive: 60,
mqttjs:client username: undefined,
mqttjs:client password: undefined,
mqttjs:client properties: undefined
mqttjs:client } +0ms
mqttjs:client _writePacket :: emitting `packetsend` +0ms
mqttjs:client _writePacket :: writing to stream +0ms
mqttjs:client _writePacket :: writeToStream result true +0ms
mqttjs:client writable stream :: parsing buffer +117ms
mqttjs:client parser :: on packet push to packets array. +0ms
mqttjs:client work :: getting next packet in queue +1ms
mqttjs:client work :: packet pulled from queue +0ms
mqttjs:client _handlePacket :: emitting packetreceive +0ms
mqttjs:client _handleConnack +0ms
mqttjs:client _setupPingTimer :: keepalive 60 (seconds) +0ms
mqttjs:client connect :: sending queued packets +0ms
mqttjs:client deliver :: entry undefined +0ms
mqttjs:client _resubscribe +0ms
mqttjs:client subscribe: object topic device/#, { qos: 0 } +0ms
mqttjs:client subscribe: pushing topic `device/#` and qos `0` to subs list +0ms
mqttjs:client subscribe :: resubscribe true +1ms
mqttjs:client subscribe :: call _sendPacket +0ms
mqttjs:client _sendPacket :: (mqttjs_5df8db01) :: start +0ms
mqttjs:client _writePacket :: packet: {
mqttjs:client cmd: 'subscribe',
mqttjs:client subscriptions: [ { topic: 'device/#', qos: 0 } ],
mqttjs:client messageId: 27433
mqttjs:client } +0ms
mqttjs:client _writePacket :: emitting `packetsend` +0ms
mqttjs:client _writePacket :: writing to stream +0ms
mqttjs:client _writePacket :: writeToStream result true +0ms
mqttjs:client _writePacket :: invoking cb +0ms
mqttjs:client noop :: undefined +0ms
connect ok
mqttjs:client subscribe: array topic device/# +0ms
subscribe ok
mqttjs:client writable stream :: parsing buffer +27ms
mqttjs:client parser :: on packet push to packets array. +0ms
mqttjs:client work :: getting next packet in queue +0ms
mqttjs:client work :: packet pulled from queue +0ms
mqttjs:client _handlePacket :: emitting packetreceive +0ms
mqttjs:client _handleAck :: packet type suback +0ms
mqttjs:client noop :: null +0ms
@einsqing it's not very clear what's the bug by reading your description/logs
@einsqing it's not very clear what's the bug by reading your description/logs
60s Automatically disconnects and reconnects
There is nothing there that show what caused the reconnect, your log is truncated