我有Tornado websocket handler
,我正在从我的浏览器发送消息(我已覆盖on_message,on_close,open
)。
在关闭javascript我想发送一些数据到处理程序(清理一些存储,我在json中发送一些数字,如{'storage':22, 'time':96}
)。
龙卷风中的websocket处理程序如何接收closing message
?
我查看了close
和on_close
,但没有选择接收数据。
答案 0 :(得分:1)
如果我理解你的要求是正确的,那就不可能了。
您希望确保在关闭连接时,浏览器在客户端JavaScript代码上调用on_close
函数,它可以将一些最终数据发送到Tornado服务器。
但是当连接关闭时,无法再发送任何数据。这就是关闭意味着什么。
您需要做的是创建一个"退出"或类似的消息,在应用程序级别。当龙卷风发出"退出"消息到JS代码,然后它可以发送它的最终消息;当Tornado收到该消息时,它可以关闭套接字。 (当然这意味着你需要编写你的代码来处理这样一种情况:#34;正常关闭"永远不会发生,因为例如客户端机器已经被核弹子汽化了。)