0

我有一个严格的要求,只允许登录用户在一个选项卡中打开我的网络应用程序。我注意到 WhatsApp 和 Google Messenger 的网络应用程序已经实现了这一点。例如,尝试在多个选项卡中打开这些应用程序(无论是在同一浏览器、不同浏览器甚至不同设备上)都会导致以下警告:

在此处输入图像描述

在此处输入图像描述

有谁知道这是怎么做到的?服务器和客户端之间必须进行某种同步,以确保只打开一个选项卡。但这需要一个唯一的选项卡标识符,而可靠地构建它会变得相当复杂。有人知道 WhatsApp 和 Google Messenger 是如何做到的吗?他们的技术似乎完美无缺。

4

1 回答 1

1

我不知道 WhatsApp 和 Google Messenger 是如何做到这一点的,但是如果你使用 WebSockets(你的帖子有标签“websocket”,所以我假设你这样做了)每个选项卡都有与服务器的单一连接,并且如果您的用户需要登录,您可以检查用户是否已经与您的服务器建立了开放的 weboscket 连接。

于 2022-02-10T18:24:19.840 回答