Socket.IO:服务器端清理的推荐模式是什么?

Socket.IO:服务器端清理的推荐模式是什么?,socket.io,gevent-socketio,Socket.io,Gevent Socketio,在断开连接时进行清理是否足够?如果浏览器在发送显式断开连接之前消失,会发生什么情况 服务器端清理的推荐模式是什么,以便绑定到连接的资源不会泄漏(例如命名空间) (如果有必要,请使用gevent socketio)如果使用WebSocket作为传输,它将自动断开浏览器关闭时的套接字连接。 例如,如果您使用xhr轮询,它不会自动断开连接(谈到gevent socketio) 使用xhr轮询时,我的方法是: 在数据库中保存具有登录用户id的套接字会话id 在下次用户登录时检测是否存在此类记录 使用记录

在断开连接时进行清理是否足够?如果浏览器在发送显式断开连接之前消失,会发生什么情况

服务器端清理的推荐模式是什么,以便绑定到连接的资源不会泄漏(例如命名空间)


(如果有必要,请使用gevent socketio)

如果使用WebSocket作为传输,它将自动断开浏览器关闭时的套接字连接。 例如,如果您使用xhr轮询,它不会自动断开连接(谈到gevent socketio)

使用xhr轮询时,我的方法是:

  • 在数据库中保存具有登录用户id的套接字会话id
  • 在下次用户登录时检测是否存在此类记录
  • 使用记录中存储的会话id断开未使用的套接字,因为新用户登录将生成新的套接字
  • 这不是一个快速的解决方案,因为在用户执行新登录之前,您可能会连接未使用的套接字,但当用户登录时,它会执行某种清理


    这篇文章可能是一个比我的解决方案更具创造性的提示:

    如果您使用WebSocket作为传输,它将自动断开浏览器关闭时的套接字连接。 例如,如果您使用xhr轮询,它不会自动断开连接(谈到gevent socketio)

    使用xhr轮询时,我的方法是:

  • 在数据库中保存具有登录用户id的套接字会话id
  • 在下次用户登录时检测是否存在此类记录
  • 使用记录中存储的会话id断开未使用的套接字,因为新用户登录将生成新的套接字
  • 这不是一个快速的解决方案,因为在用户执行新登录之前,您可能会连接未使用的套接字,但当用户登录时,它会执行某种清理

    这篇文章可能是一个比我的解决方案更具创造性的提示: