Tornado异步请求超时 - 如何检查该用户是否仍然连接

时间:2011-11-19 19:54:46

标签: python tornado

我正在尝试使用龙卷风编写网络聊天代码。

客户端(用户)发送一个长发帖请求,在此期间我发送消息作为响应。但我在检查用户是否在线时遇到问题。

当用户退出或只是关闭标签/浏览器时 - 一切都很简单,执行on_connection_close()我明白它已断开连接,但如果客户端丢失了互联网连接,然后 on_connection_close无效

如何判断用户是否在线?

1 个答案:

答案 0 :(得分:0)

您可能需要查看Tornado + Socket.io的tornadio2implement multiplex connection,一个用来处理推送消息,另一个是ping服务器以便检查是否客户端是否仍然连接。

Multiplex不会打开多个连接,而是使用单个连接虚拟连接到不同的处理程序。查看multiplexed.py第66行。

class RouterConnection(SocketConnection):
    __endpoints__ = {'/chat': ChatConnection,
                 '/ping': PingConnection}

Multiplex示例也是示例聊天应用程序