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事件。