2016-08-04 8 views
0

私は2つの独立したnode.jsプロセスを実行しています。 1つはSocket.IOと別のExpress.jsを実行します。私は、エクスプレスからsocket.ioを実行するサーバーにイベントを送信しようとしていますが、socket.io-emitterを使用すると、イベントはsocket.ioサーバーに接続されているソケットにしか届きません。私が必要とするのは、ほかのすべてのソケットが受信しているがsocket.ioサーバー上の同じイベントを監視できることです。socket.io-emitterを通じてSocket.IOに接続

+0

おそらく私はhttps://github.com/NodeRedis/node_redisを使用する必要がありますか? –

答えて

0

私はプロセス間通信にnode_redisを使用しました。私が望むだけのパブリッシュ/サブスクライブ機能があります。

https://github.com/NodeRedis/node_redisには次のような例があります。

var redis = require("redis"); 
var sub = redis.createClient(), pub = redis.createClient(); 
var msg_count = 0; 

sub.on("subscribe", function (channel, count) { 
    pub.publish("a nice channel", "I am sending a message."); 
    pub.publish("a nice channel", "I am sending a second message."); 
    pub.publish("a nice channel", "I am sending my last message."); 
}); 

sub.on("message", function (channel, message) { 
    console.log("sub channel " + channel + ": " + message); 
    msg_count += 1; 
    if (msg_count === 3) { 
     sub.unsubscribe(); 
     sub.quit(); 
     pub.quit(); 
    } 
}); 

sub.subscribe("a nice channel"); 
関連する問題