微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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')

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐