gpt4 book ai didi

javascript - 有没有办法让每个用户而不是每个选项卡运行一个服务器发送事件?

转载 作者:可可西里 更新时间:2023-10-31 23:03:30 24 4
gpt4 key购买 nike

我遇到了很多问题,因为我的用户使用多个浏览器的选项卡来使用同一个应用程序。

问题是每个选项卡都会单独连接到服务器以启动服务器发送的事件,并且服务器将运行一个循环来完成请求。 (如果每个用户打开 5 个选项卡,那么服务器将不得不启动 5 个不同的服务器发送事件来响应!)

有没有办法添加某种逻辑来检查客户端和服务器发送的脚本之间是否建立了连接而不是创建新连接?

我认为这与使用 WebSocket 的想法相同。但是,我使用 WebSockets 的问题是每个用户都必须使用服务器发送的事件进行身份验证,并且不确定 WebSockets 是否可行。当用户登录到该应用程序时,我会生成一个 sessionID,该 session 会检查他们的 IP/代理数据是否匹配,然后才允许他们使用该网站。

如何将与服务器发送事件的连接最小化为每个用户 1 个?

最佳答案

在设置每个客户端的连接时,HTTP header (以及 cookie)可供 WebSocket 服务器使用。

但是,由于您还没有使用 WebSockets(还没有?),下一个最好的去处是您的客户端 Javascript。

Cookie 在那里可用,除非 cookie 设置了 HttpOnly 标志。这将是您跨多个浏览器标签匹配用户的最可靠方式。

浏览器用户代理字符串加上他们的 IP 地址很诱人,但请记住,大多数家用路由器都使用 NAT,而且许多住在一起的人往往会在他们的不同计算机上使用相同的浏览器。

关于javascript - 有没有办法让每个用户而不是每个选项卡运行一个服务器发送事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32277583/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com