首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在套接字之间共享会话。(从所有活动选项卡中注销用户)

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

Stack Overflow用户
提问于 2013-10-20 21:06:31
回答 2查看 1.4K关注 0票数 4

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-21 06:36:10

如果您有n个不同的制表符,那实际上是n个不同的套接字。实现所需功能的一种方法是使来自特定用户的所有套接字都加入到单个房间中。

代码语言:javascript
复制
io.on('connection', function (socket) {
    socket.join(socket.handshake.user.id);
    // rest of your code
}

在注销代码中,向特定的房间发出一个事件“注销”。

代码语言:javascript
复制
io.sockets.in(socket.handshake.user.id).emit('logout')

现在,在客户端,您可以在重定向到所需位置的“注销”上编写事件侦听器。

票数 5
EN

Stack Overflow用户

发布于 2013-10-20 21:09:40

在你的应用程序中,你必须查看所有打开的套接字,找到匹配的用户名并手动终止它们。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19482860

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档