gpt4 book ai didi

node.js - 跨水平服务器计算 socket.io 用户

转载 作者:IT王子 更新时间:2023-10-29 05:56:47 26 4
gpt4 key购买 nike

我有多个使用 redisstore 水平扩展的 socket.io 服务器。我已经有效地设置了房间,并且成功地能够跨服务器等向房间广播。现在我正在尝试构建一个状态页面,但我没有弄清楚的是如何简单地计算跨服务器连接的用户数量所有服务器。

io.sockets.clients('room') 和 io.sockets.sockets 只会告诉您该服务器上连接的客户端数量,而不是所有连接到同一 RedisStore 的服务器。

建议?

谢谢。

最佳答案

当用户连接到聊天室时,您可以自动增加 RedisStore 中的用户计数器。当用户断开连接时,您会减少该值。通过这种方式,Redis 可以维护用户计数并可供所有服务器访问。

参见 INCRDECR

SET userCount = "0"

当用户连接时:

INCR userCount

当用户断开连接时:

DECR userCount

关于node.js - 跨水平服务器计算 socket.io 用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12164783/

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