首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在socket.io中检测同一个客户端

如何在socket.io中检测同一个客户端
EN

Stack Overflow用户
提问于 2016-07-12 22:17:25
回答 1查看 1.7K关注 0票数 2

我正试着和express.js & socket.io聊天。目前,我聊天中的用户可以在同一个浏览器上打开多个选项卡,也可以在所有这些选项卡上聊天。这意味着同一个客户可以同时与几个人聊天。我想阻止这种行为。

我想防止客户端每次连接到聊天时:

1)客户端在同一浏览器上在不同的选项卡上工作

2)客户端打开不同的浏览器并在它们上工作

我怎么能这么做?谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-12 22:53:44

通过使用cookie标识特定的浏览器,您可以从同一浏览器中的不同选项卡中检测到同一个用户。在第一次连接( socket.io或表示请求)时,设置唯一cookie标识符,然后在后续连接上检查该唯一cookie标识符是否已经在使用。您必须在您的特定应用程序中定义“在使用”是什么意思。对于socket.io连接,这有点简单,因为这意味着当前已经有一个活动连接。对于Express请求,这有点困难,因为请求是暂时的,所以您必须决定如何区分不同选项卡与导航到新页面的一个选项卡(这是应用程序特定的操作方式)。

要检测多个浏览器,您必须进行用户身份验证,或者假设用户不创建多个帐户,或者有某种系统来防止同一用户创建多个帐户。然后,在cookie中使用帐户身份验证凭据,就像在前面的示例中一样,以判断是否已经使用了该用户的会话。

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

https://stackoverflow.com/questions/38339754

复制
相关文章

相似问题

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