gpt4 book ai didi

sockets - Socket.io 中的 channel

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

我正在尝试通过 Node.js 服务 socket.io ( http://socket.io/ ) 向所有订阅者的特定子集广播一条消息。

更准确地说,我想使用用户可以订阅的 channel ,以便有效地同时向几百人推送消息。

我不太确定 addEvent('channel_name',x) 是否可行。

我没有在文档中找到任何内容。有什么想法吗?

谢谢垫子

最佳答案

这有点晚了 (!) 但我在我的推荐人日志中发现了它(我是 Faye 的作者)。从您的应用程序发布消息很容易,无论它是否与 Faye 在同一台服务器上。例如:

var faye = require('faye'),
http = require('http');

// Set up the server

var server = http.createServer(function(req, res) {
// dispatch to your app logic...
});

var bayeux = new faye.NodeAdapter({mount: '/bayeux'});
bayeux.attach(server);
server.listen(8000);

如果您的应用逻辑在同一个服务器进程中,您可以这样做:

bayeux.getClient().publish('/channel', {hello: 'world'});

否则你可以在 Node 中创建一个连接到你的 Faye 服务器的客户端:

var client = new faye.Client('http://0.0.0.0:8000/bayeux');
client.publish('/channel', {hello: 'world'});

无论哪种方式,Faye 服务器都会将消息转发给任何订阅的客户端,无论它们是服务器端还是客户端。希望对您有所帮助。

关于sockets - Socket.io 中的 channel ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2859220/

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