是否可以从socket.io-emitter广播

时间:2014-06-04 05:28:15

标签: node.js sockets socket.io

我目前使用socket.io-emitter发出消息从我的应用程序中的工作人员发出消息(在命名空间中),但是现在我需要向所有连接的套接字(到名称空间)广播,当发生某些事情时,是否有任何消息在那附近工作?

例如,这是一个socket.io公开(HTTP)使用socket.io适配器发出和广播 能够在不同的进程中运行不同的socket.io实例

var io = require('socket.io')(http);
io.adapter(redis(config.redis));

io.of('/namespace').on('connection', function(socket){
    socket.emit('message', 'Hi you!');
    socket.broadcast.emit('broadcast', 'Heya all!');
});

现在这是一个向客户端发送事件的不同进程(MQ工作者)

var io = require('socket.io-emitter')(redis(config.redis));

var socket = io.of('/namespace');

socket.emit('message', 'Hi you!');            // This works
socket.broadcast('broadcast', 'Heya all!');   // This won't work

1 个答案:

答案 0 :(得分:2)

它没有这种方式。

使用客户端 - 发射器,您只能发出,然后服务器处理他想对此事件做的事情。

服务器端:

socket.on('msg', function (msg) {

    socket.broadcast.emit('msg', msg);

});

客户端:

socket.emit('msg', 'msg');
相关问题