【问题标题】:What does Tornado's websocket implementation do to find and close zombie websockets?Tornado 的 websocket 实现如何查找和关闭僵尸 websocket?
【发布时间】:2012-05-28 21:48:36
【问题描述】:

假设浏览器被强制终止,并且没有关闭消息发送到 Tornado 服务器。 Tornado 怎么知道(或者它甚至知道?)这个连接已经在客户端被终止了?浏览Tornado websocket code 对我来说并不明显。

我问是因为我曾经有几分钟没有调用服务器端 on_close 方法(可能是因为客户端未能发送其关闭消息)几分钟,但随后 Tornado 似乎注意到客户端已经消失了并关闭套接字本身。

有什么见解吗?

【问题讨论】:

    标签: websocket tornado zombie-process


    【解决方案1】:

    Tornado 监控底层 TCP 连接是否关闭。由于关闭握手或发生网络错误而关闭连接都没有关系。无论哪种情况,都会调用 on_close。

    如果客户端失去网络连接,TCP 连接可能会被视为打开几分钟,然后 TCP 堆栈将决定连接超时。之后会关闭socket,通知Tornado等。

    【讨论】:

      猜你喜欢
      • 2013-07-05
      • 2016-03-11
      • 1970-01-01
      • 1970-01-01
      • 2015-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多