如何阻止客户端 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
:-)
假设我有一个名为 '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
:-)