var instance = require('aedes')(); var server = require('net').createServer(instance.handle); var port = 1883; instance.subscribe('#', function(packet, cb) { const { topic } = packet; console.log("subscribe"); console.log(packet); if (!topic.startsWith('$SYS') && !topic.endsWith('_reply')) { const message = JSON.parse(packet.payload.toString()); const payload = JSON.stringify({ id: message.id, code: 200 }); instance.publish({ cmd: 'publish', qos: 0, topic: packet.topic + '_reply', payload: new Buffer(payload), retain: false }); } cb(); }); // instance.keepaliveTimeout('#',(packet, cb)=>{ // console.log("keepaliveTimeout"); // cb(); // }); server.listen(port, function() { console.log('server listening on port', port); });