在关闭连接时将数据发送到websockethandler

时间:2014-07-28 21:21:28

标签: python tornado

我有Tornado websocket handler,我正在从我的浏览器发送消息(我已覆盖on_message,on_close,open)。 在关闭javascript我想发送一些数据到处理程序(清理一些存储,我在json中发送一些数字,如{'storage':22, 'time':96})。 龙卷风中的websocket处理程序如何接收closing message? 我查看了closeon_close,但没有选择接收数据。

1 个答案:

答案 0 :(得分:1)

如果我理解你的要求是正确的,那就不可能了。

您希望确保在关闭连接时,浏览器在客户端JavaScript代码上调用on_close函数,它可以将一些最终数据发送到Tornado服务器。

但是当连接关闭时,无法再发送任何数据。这就是关闭意味着什么。

您需要做的是创建一个"退出"或类似的消息,在应用程序级别。当龙卷风发出"退出"消息到JS代码,然后它可以发送它的最终消息;当Tornado收到该消息时,它可以关闭套接字。 (当然这意味着你需要编写你的代码来处理这样一种情况:#34;正常关闭"永远不会发生,因为例如客户端机器已经被核弹子汽化了。)