Слияние кода завершено, страница обновится автоматически
var mqtt = require('mqtt');
mqtt.createServer(function(client) {
var self = this;
if (!self.clients) self.clients = {};
client.on('connect', function(packet) {
console.log('connect! %j ', packet);
client.connack({returnCode: 0});
client.id = packet.clientId;
self.clients[client.id] = client;
});
client.on('publish', function(packet) {
console.log('publish! %j ', packet);
for (var k in self.clients) {
self.clients[k].publish({topic: packet.topic, payload: packet.payload});
}
});
client.on('subscribe', function(packet) {
console.log('subscribe! %j ', packet);
var granted = [];
for (var i = 0; i < packet.subscriptions.length; i++) {
granted.push(packet.subscriptions[i].qos);
}
client.suback({granted: granted, messageId: packet.messageId});
});
client.on('pingreq', function(packet) {
console.log('pingreq! %j ', packet);
client.pingresp();
});
client.on('disconnect', function(packet) {
console.log('disconnect! %j ', packet);
client.stream.end();
});
client.on('close', function(err) {
console.log('close! %j ', err);
delete self.clients[client.id];
});
client.on('error', function(err) {
console.log('error!', err);
if (!self.clients[client.id]) return;
delete self.clients[client.id];
client.stream.end();
});
}).listen(1883);
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарий ( 0 )