2016-08-04 183 views
0

我正在運行兩個單獨的node.js進程。一個運行Socket.IO和另一個Express.js。我試圖從Express發送一個事件到運行socket.io的服務器,但是通過使用socket.io-emitter,事件只能到達連接到socket.io服務器的套接字。我需要的是能夠觀察到所有其他套接字正在接收但在socket.io服務器上的相同事件。通過socket.io發射器連接到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");