2016-10-12 17 views
0

node.js mosca MQTTブローカーを組み込みの方法で使用したいと思います。MQTTにはブローカーなしのmoscaが組み込まれています

ドキュメントからは、組み込みのmoscaは、Mosquitto、AMQP、ZeroMQ、Redisなどの外部ブローカーを使用しなければならないようです。スタンドアローンのモスカの場合、外部ブローカーは必要ありません。スタンドアローンのモスカに似た外部ブローカが使用されないように、埋め込みモスカを実行できますか?

これを行うことができれば、以下のredisを使用するコードはどのように変更する必要がありますか?

  • スタンドアロン

  • 別のNode.jsアプリケーション

に埋め込ま:

var mosca = require('mosca') 

var ascoltatore = { 
    type: 'redis', 
    redis: require('redis'), 
    db: 12, 
    port: 6379, 
    return_buffers: true, // to handle binary payloads 
    host: "localhost" 
}; 

var moscaSettings = { 
    port: 1883, 
    backend: ascoltatore, 
    persistence: { 
    factory: mosca.persistence.Redis 
    } 
}; 

var server = new mosca.Server(moscaSettings); 
server.on('ready', setup); 

server.on('clientConnected', function(client) { 
    console.log('client connected', client.id);  
}); 

// fired when a message is received 
server.on('published', function(packet, client) { 
    console.log('Published', packet.payload); 
}); 

// fired when the mqtt server is ready 
function setup() { 
    console.log('Mosca server is up and running') 
} 
+2

この文章**外部のブローカー.. **が意味を成さないように埋め込まれたmoscaを実行できますか? ** moscaはブローカー** – Molda

答えて

1

モスカを使用することができるのNode.js MQTTブローカー、ありますスケーラビリティの観点から、その文書には、

Even though Mosca is a MQTT broker, if you need to scale it out, you need to use another broker as it does not have any clustering support in itself. Some of the brokers it supports are the following:

  • Redis, a key/value store created by @antirez.

  • MongoDB, a scalable, high-performance, document-oriented database.

  • Mosquitto and all implementations of the MQTT protocol.

  • RabbitMQ and all implementations of the AMQP protocol.

  • ZeroMQ to use Mosca in a P2P fashion.

hereここ

3

自分のwikiで埋め込まれた形でモスカの実行を使用してセキュアMQTTブローカーの実施例の完全なソースコードです。

var mosca = require('mosca') 

var SECURE_KEY = __dirname + '/key.pem'; 
var SECURE_CERT = __dirname + '/cert.pem'; 

var settings = { 
    port: 1883, 
    logger: { 
     name: "secureSample", 
     level: 40, 
    }, 
    secure : { 
     port: 7998, 
     keyPath: SECURE_KEY, 
     certPath: SECURE_CERT, 
    } 
}; 
var server = new mosca.Server(settings); 
server.on('ready', setup); 

server.on('clientConnected', function(client) { 
    console.log('client connected', client.id); 
}); 

// fired when a message is received 
server.on('published', function(packet, client) { 
    console.log('Published', packet.payload); 
}); 

// fired when the mqtt broker is ready 
function setup() { 
    console.log('Mosca embedded MQTT broker running now') 
} 
+0

エラー:エラー:0907B068:PEMルーチン:PEM_READ_BIO_PRIVATEKEY:不正なパスワードがhttps://github.com/mcollina/mosca/issues/421になっている – kakopappa

関連する問題