2013-02-02 112 views
1

在断开连接时清理就足够了吗?如果浏览器在发送明确的断开连接之前消失会发生什么?Socket.IO:服务器端清理的推荐模式是什么?

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

(使用GEVENT-socketio,如果它的事项)

回答

1

如果您使用WebSockets运输,它会automaticaly断开浏览器上关闭套接字。 如果您使用xhr-polling作为例子,它不会自动断开(关于gevent-socketio)。

我的做法当使用XHR轮询是:

  1. 保存插座会话ID中有登录的用户ID数据库
  2. 在下次用户登录检测,如果有这样的记载存在
  3. 使用在记录中存储的会话ID来放弃未使用的套接字,因为新的用户登录会生成新的套接字

这不是快速解决方案,因为您可能有未使用的套接字con nected直到新的登录由用户执行,但执行的一种清理,当用户登录

这篇文章可能是一个暗示的东西比我的解决方案更有创意:http://flask.pocoo.org/snippets/71/

相关问题