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...'); });