通过socket.io发射器连接到Socket.IO
问题描述:
我正在运行两个单独的node.js进程。一个运行Socket.IO和另一个Express.js。我试图从Express发送一个事件到运行socket.io的服务器,但是通过使用socket.io-emitter,事件只能到达连接到socket.io服务器的套接字。我需要的是能够观察到所有其他套接字正在接收但在socket.io服务器上的相同事件。通过socket.io发射器连接到Socket.IO
答
我用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");
也许我应该使用https://github.com/NodeRedis/node_redis? –