nodejs 完成mqtt服务端

jopen 10年前

使用mosca 写了一下基于MQTT的消息服务端,用于下一个项目的知识储备;

该功能主要是基本 NODEJS 的 mosca 插件完成

    1. 安装 mosca

npm install mosca --save

    2. 创建mqtt服务端,端口为:8000

var mosca = require('mosca');  var MqttServer = new mosca.Server({      port: 8000  });

    3. mqtt服务端部分逻辑处理

MqttServer.on('clientConnected', function(client){      console.log('client connected', client.id);  });    /**   * 监听MQTT主题消息   **/  MqttServer.on('published', function(packet, client) {      var topic = packet.topic;       switch(topic){   case 'pubMsg':       console.log('message-publish', packet.payload.toString());       //MQTT转发主题消息       MqttServer.publish({topic: 'other', payload: 'sssss'});       //发送消息NODEJS       console.log('HD: '+ YHSocketMap.get('1000'));       //发送socket.io消息       //io.sockets.socket(YHSocketMap.get('1000')).emit('subState', packet);   break;   case 'other':       console.log('message-123', packet.payload.toString());   break;      }  });    MqttServer.on('ready', function(){      console.log('mqtt is running...');  });