2016-08-04 144 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");