如何解决socket.io redis-adapter +附加Express服务器集群
我正在尝试设置在集群Express服务器上运行的socket.io应用程序。因此,我正在使用redis适配器。
我的代码如下:
import * as socketIo from "socket.io";
var redisAdapter = require("socket.io-redis");
const io = socketIo();
server = http.createServer(app);
io.adapter(redisAdapter(process.env.REDISCLOUD_URL));
io.attach(server,{
transports: ["websocket","polling"],});
这很好用,但是我的问题是,我什至需要那个attach()
方法吗?在文档中,出于某种原因,他们将其省略。但是我确实需要这种传输配置,因为我正在集群进程上运行服务器。如果我不应该使用Attach,如何配置传输?
另一个问题是关于集群行为的问题-我正在使用以下代码位来检查套接字并对其做一些事情:
-
io.sockets.adapter.rooms["roomName"]
-
io.in("roomName").clients()
这些在我所有集群实例中都是全局的吗?意味着节点0可以读取使用io.in("roomName").clients()
连接到节点1的套接字?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。