Skip to content

Instantly share code, notes, and snippets.

@w33ble
Last active March 28, 2019 19:19
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save w33ble/769d1014d659ec59bee649bea79eb7e0 to your computer and use it in GitHub Desktop.
Save w33ble/769d1014d659ec59bee649bea79eb7e0 to your computer and use it in GitHub Desktop.
Simple Mosca MQTT server demo, with leveldb persistence
import mosca from 'mosca';
// source: https://github.com/mcollina/mosca/wiki/Mosca-basic-usage
const moscaSettings = {
port: 1883,
persistence: {
factory: mosca.persistence.LevelUp,
path: 'db',
},
};
const server = new mosca.Server(moscaSettings);
const setup = () => {
console.log('Mosca server is up and running');
const message = {
topic: '/hello/world',
payload: 'abdce', // or a Buffer
qos: 0, // 0, 1, or 2
retain: true, // retain message for future subscribers
};
server.publish(message, () => {
console.log('message published!');
});
};
server.on('ready', setup);
// fired when a message is published
server.on('published', packet => {
console.log('published event', packet.retain ? '(persisted)' : '', packet.topic, packet.payload);
});
export default server;
{
"name": "mosca-playground",
"version": "0.0.0",
"dependencies": {
"mosca": "^2.7.0"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment