server - mqttjs/MQTT.js GitHub Wiki
Server API
Introduction
The primary methods of instantiating mqtt.js server classes
are through the mqtt.createServer and mqtt.createSecureServer
methods. The former returns an instance of MqttServer and
and the latter returns an instance of MqttSecureServer.
While it is possible to instantiate these classes through
new MqttServer(), it is strongly recommended to use the
factory methods.
Example
var mqtt = require('mqtt');
var server = mqtt.createServer(function(client) {
client.on('connect', function(packet) {
// Check if connect fields are correct
// Add client to list of connected clients
client.connack({returnCode: 0});
});
client.on('publish', function(packet) {
// Perform QoS handling if necessary
// Publish message to all appropriate clients
});
client.on('subscribe', function(packet) {
// Add subscription to client subscription list
client.suback([0]);
});
client.on('pingreq', function(packet) {
client.pingresp();
});
client.on('disconnect', function(packet) {
// Disconnect client
// Remove from list of clients
});
});
SecureServer example
var mqtt = require('mqtt');
var server = mqtt.createSecureServer(
__dirname + 'private-key.pem',
__dirname + 'cert.pem',
function(client) {
client.on('connect', function(packet) {
// Check if connect fields are correct
// Add client to list of connected clients
client.connack({returnCode: 0});
});
client.on('publish', function(packet) {
// Perform QoS handling if necessary
// Publish message to all appropriate clients
});
client.on('subscribe', function(packet) {
// Add subscription to client subscription list
client.suback([0]);
});
client.on('pingreq', function(packet) {
client.pingresp();
});
client.on('disconnect', function(packet) {
// Disconnect client
// Remove from list of clients
});
});
MqttServer
MqttServer is a subclass of net.Server and as such inherits
all its events and methods. It has, in addition, the following
methods and events:
MqttServer([listener])
Instantiate a new MQTT server.
listeneris a callback that is fired on theclientevent
Event: 'client'
function(client) {}
Emitted when a new TCP connection is received. client is an
instance of MqttServerClient, a wrapper of MqttConnection
(see MqttConnection).
MqttSecureServer
MqttSecureServer is a subclass of tls.Server. It has
the following events and methods:
MqttSecureServer(keyPath, certPath, [listener])
Instantiate a new tls secured MQTT server.
keyPath is a path to a private key file
certPath is a path to the corresponding public certificate
listener is a callback that is fired on client events
Event: 'client'
See above.