如何阻止客户端 Socket.io 循环发送套接字?

How do you stop client-side Socket.io from looping socket emissions?

假设我有一个名为 'add' 的 socket.io 事件,它接受 0 个参数,当在服务器端收到时,增加一个计数变量,然后向每个客户端发出新的计数值。我怎样才能阻止人们从根本上打开 JS 控制台并使用像这样的循环:

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

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

我完全理解没有什么可以真正确保客户端代码不被用户操纵。

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

仅用于验证:

为什么不使用 lasttime = Date.now() 扩充客户端并检查是否 lasttime - Date.now() > fixedtimeout

或:

using a key val array to store client addresses along with previous message time and then checking if the difference between the time was less than 100ms

:-)