gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-10-31 22:50:27 26 4
gpt4 key购买 nike

我目前正在使用 socket.io-emitter 发送消息从我的应用程序中的工作人员发出消息(在 namespace 中),但是现在我需要广播到所有连接的套接字(到 namespace ),当发生某些事情时,那里有什么工作吗?

例如,这是一个 socket.io exposed(HTTP) emit 和 broadcast using socket.io adapter to能够在不同的进程中运行不同的 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

最佳答案

这样不行。

使用client-emitter你只能发出,然后服务器处理他想对这个事件做什么。

服务器端:

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

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

});

客户端:

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

关于node.js - 是否可以从 socket.io-emitter 广播,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24029687/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com