今天使用mosca 寫了一下基於MQTT的消息服務端,用於下一個項目的知識儲備;html
該功能主要是基本 NODEJS 的 mosca 插件完成node
1. 安裝 moscanpm
npm install mosca --save
2. 建立mqtt服務端,端口爲:8000
socket
var mosca = require('mosca'); var MqttServer = new mosca.Server({ port: 8000 });
3. mqtt服務端部分邏輯處理
ui
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...'); });
原文連接:http://86hyy.com/archives/nodejs-mqtt-server-auth2.htmlsocket.io