nodejs 完成mqtt服務端

jopen 9年前發布 | 76K 次閱讀 消息系統 NodeJS

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

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!