Flask Socketio-限制每个客户端的排放量
我正在尝试制作聊天应用程序,但担心客户端会使服务器过载。我正在为客户端使用以下代码发送消息:Flask Socketio-限制每个客户端的排放量,flask,flask-socketio,Flask,Flask Socketio,我正在尝试制作聊天应用程序,但担心客户端会使服务器过载。我正在为客户端使用以下代码发送消息: var form = $( document.getElementById( "msg" ) ).on( 'submit', function( e ) { e.preventDefault() let user_input = $( 'input.message' ).val() socket.emit( 'my event'
var form = $( document.getElementById( "msg" ) ).on( 'submit', function( e ) {
e.preventDefault()
let user_input = $( 'input.message' ).val()
socket.emit( 'my event', {
message : user_input,
room: room_new
} )
$( 'input.message' ).val( '' ).focus()
} )
问题是客户端可以控制消息的发送时间,并使用setInterval()使服务器过载。flask socket io是否会自动处理此问题,或者是否需要使用一些代码来预防?flask socket io不会对客户端进行速率限制,因此这是您需要在自己的应用程序上实现的。这样做的目的是,如果您看到客户端的事件超过某个阈值,您可以断开客户端的连接,以防止它淹没服务器。@Miguel-谢谢您的快速回复。Flask中是否自动实现了某种速率限制,或者我是否需要在数据库中存储连接来解决此问题?Flask有一些扩展实现了速率限制(请参阅),但这些扩展用于Flask路由,它们不适用于Socket.IO事件。