【问题标题】:Nodejs Websockets User Active State with MongoDBMongoDB的Nodejs Websockets用户活动状态
【发布时间】:2021-10-09 21:23:50
【问题描述】:

我有一个带有 Express 和 WS 的 NodeJS 后端,并且是一个简单的类似信使的聊天应用程序。你登录,然后你聊天。但我想在它上面添加一个功能。如果用户已经登录并且处于活动状态(套接字连接存在,未断开),我希望它是数据库中的activeStatus : active。这样如果他尝试从其他浏览器登录,如果他的 activeStatus 是active,他将无法连接。

这是如何实现的?我不明白我应该如何将 websocket 连接链接到数据库中的特定 ID,当连接打开时,更新 db,当连接断开时,再次将其更新为该 ID。

【问题讨论】:

    标签: javascript node.js websocket


    【解决方案1】:

    只需在wss.on('connection',...) 中为WebSocket 实例设置一个唯一参数,然后使用它来识别用户。此外,如果您无法将 websocket 连接链接到指定用户,您的身份验证如何工作?如果无法区分用户,似乎任何人都可以连接到您的服务器。

    【讨论】:

    • 在大局中我将如何做到这一点?抱歉,我是 WS 新手。此外,身份验证是基于电子邮件和密码的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-04
    • 2013-05-20
    • 2020-06-06
    • 2019-08-28
    • 1970-01-01
    • 1970-01-01
    • 2022-01-23
    相关资源
    最近更新 更多