假设我有一个名为'add'的socket.io事件,它接受0个参数,当在服务器端接收时,递增计数变量,然后向每个客户端发出新的计数值。如何阻止人们基本上打开JS控制台并使用如下循环:
for(var i = 0; i < 1000; i++) {
socket.emit('add');
}
另一种可能更有意义的方案是:如何在聊天应用程序中检测洪水?
我完全明白,没有人可以真正做到确保客户端代码不被用户操纵。
如何为每个客户端的每个socketio事件处理程序添加某种形式的超时?
答案 0 :(得分:0)
仅供验证:
为什么不使用lasttime = Date.now()
扩充客户端并检查是否lasttime - Date.now() > fixedtimeout
使用密钥val数组存储客户端地址以及先前的消息时间,然后检查时间之间的差异是否小于100毫秒
: - )