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