如何阻止客户端Socket.io从循环sockets排放?

比方说,我有一个名为“add”的socket.io事件,它接受0个参数,当在服务器端收到时,递增计数variables,然后向每个客户端发送新的计数值。 我如何阻止人们从本质上打开JS控制台,并使用如下循环:

for(var i = 0; i < 1000; i++) { socket.emit('add'); } 

另一个可能更有意义的场景是:如何在聊天应用程序中检测洪泛?

我完全理解,没有人真的可以确保客户端代码不被用户操纵。

如何为每个客户端的每个socketio事件处理程序添加某种forms的超时?

只是为了validation:

为什么不用lasttime = Date.now()增加客户端,并检查是否lasttime - Date.now() > fixedtimeout

要么 :

使用关键的val数组来存储客户端地址以及之前的消息时间,然后检查时间之间的差异是否小于100ms

🙂