我目前正在使用socket.io-emitter从我的应用程序中的一个worker发出消息(在命名空间中),但是现在我需要广播到所有连接的套接字(到命名空间),当发生一些事情时,周围有什么工作吗?
例如,这是一个使用socket.io适配器的socket.io exposed(HTTP)发出和广播,以便能够在不同的进程中运行不同的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 worker
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发布于 2014-06-04 15:50:18
它不是这样工作的。
对于客户端发射器,您只能发射,然后服务器处理他想要对此事件执行的操作。
服务器端:
socket.on('msg', function (msg) {
socket.broadcast.emit('msg', msg);
});客户端:
socket.emit('msg', 'msg');https://stackoverflow.com/questions/24029687
复制相似问题