Javascript 如何检测来自同一台计算机的多个WebSocket连接?

Javascript 如何检测来自同一台计算机的多个WebSocket连接?,javascript,websocket,Javascript,Websocket,我有一个Node.js WebSocket服务器,我想阻止客户端打开50个选项卡,这将创建50个连接。我目前的想法是检查IP地址,如下所示: ws._socket.remoteAddress 然后根据我当前的连接IP检查,如果该IP已经存在,则拒绝连接请求。我的理解是,这种方法会有问题,因为如果两台计算机位于同一Wifi上,因此具有相同的公共IP,则第二台计算机将被阻止。这不是我想要的。我希望每台计算机有一个连接,因此IP可能不是解决方案。这是一个有效的问题还是我的解决方案真的有效?唯一标识客

我有一个Node.js WebSocket服务器,我想阻止客户端打开50个选项卡,这将创建50个连接。我目前的想法是检查IP地址,如下所示:

ws._socket.remoteAddress

然后根据我当前的连接IP检查,如果该IP已经存在,则拒绝连接请求。我的理解是,这种方法会有问题,因为如果两台计算机位于同一Wifi上,因此具有相同的公共IP,则第二台计算机将被阻止。这不是我想要的。我希望每台计算机有一个连接,因此IP可能不是解决方案。这是一个有效的问题还是我的解决方案真的有效?唯一标识客户端计算机的最佳方法是什么,以防止该设备上的连接超过1个?

假设您控制客户端连接,我将查看该浏览器中所有选项卡使用的共享web worker。这将为n个选项卡提供1个连接。每个浏览器都将是一个新连接,所以最多可能有3-4个连接


这里有一个链接。请查看该示例,因为它非常简洁地说明了这一点:

您可以使用cookies我应该指定这一点,出于隐私原因,我特别不能使用cookies。有没有一个标准的方法通过库来实现这一点,我在连接时已经可以访问什么?HTTP是一个无状态协议。除了Cookie(以及一些模棱两可的标题,如
用户代理
),来自同一IP下不同计算机的请求基本上没有区别。您请求的内容与Cookie(识别计算机)具有相同的隐私含义。好的,那么,你的意思是,没有cookie或令牌,就无法防止来自同一设备的虚假用户垃圾邮件?目前,我有经过身份验证的用户,他们将JWT发送过来。我希望在用户现在注册之前打开与他们的连接,这样他们就不会被授权,但又不想出现垃圾邮件问题。感谢您的快速响应。这正是我正在寻找的解决方案,但是,Safari、Edge或IE似乎不支持这一解决方案。这一市场太大,我无法将其视为可行的解决方案。你有没有其他办法来防止像这样的垃圾邮件?