唯一已登录的用户计数器

时间:2019-02-14 18:09:32

标签: node.js session socket.io express-session

我目前使用 nodejs ,特别是使用 Express Socket.io 模块。

我的目标是在系统中拥有当前登录用户的数量(未通过套接字连接到它,但以我的系统用户身份登录)

我尝试通过创建会话变量来存储已连接用户的用户名(唯一值)。我的服务器中还有一个对象(名为connected_users),该对象列出了已连接的用户及其客户端数量。

例如:connected_users: {userA:2, userB:1, userC:3}

我的想法是将connected_users length 作为 counter

如果客户端通过套接字 连接

-如果没有会话,则将添加 userA:1添加到connected_users。

-否则,如果已在connected_users中使用:只需增加已连接用户中的userA值。

如果客户端通过套接字 断开

-已连接用户中userA的值。

-如果该值为1,则表示这是该唯一用户的最后一个客户端,因此我删除userA。(意味着该用户不再处于活动状态)

问题是,如果唯一用户仅打开一个客户端,如果他重新加载页面,则密钥userA将被删除最后一个客户。

您对我如何结束工作有任何想法吗? (或以其他方式执行)

0 个答案:

没有答案