node.js – 在套接字之间共享会话. (从所有活动选项卡中注销用户)

我正在使用node.js表达框架构建简单的学习聊天应用程序.我有一个问题.
如果用户有多个选项卡处于活动状态,则他会在一个选项卡上注销.我想关闭与其他选项卡的连接,并重定向登录页面.但我遇到了一个问题.即使用户已注销其他套接字会话未更改(我使用的是passport.socketio包,因此我在socket.handshake.user中有当前用户).我做错了什么?提前致谢.

解决方法

如果您有n个不同的选项卡,实际上是n个不同的套接字.实现您想要的方法的一种方法是使来自特定用户的所有套接字加入单个 room.

io.on('connection',function (socket) {
    socket.join(socket.handshake.user.id);
    // rest of your code
}

并且在注销代码中向该特定房间发出“注销”事件.

io.sockets.in(socket.handshake.user.id).emit('logout')

现在,在客户端,您可以在“注销”上编写一个事件监听器,重定向到您想要的位置.

相关文章

这篇文章主要介绍“基于nodejs的ssh2怎么实现自动化部署”的...
本文小编为大家详细介绍“nodejs怎么实现目录不存在自动创建...
这篇“如何把nodejs数据传到前端”文章的知识点大部分人都不...
本文小编为大家详细介绍“nodejs如何实现定时删除文件”,内...
这篇文章主要讲解了“nodejs安装模块卡住不动怎么解决”,文...
今天小编给大家分享一下如何检测nodejs有没有安装成功的相关...