2015-12-07 23 views

回答

1

WebSocketHandler有一個可覆蓋的on_close方法,當連接關閉時(大部分時間),該方法應該被調用。但是,由於基礎網絡協議的限制,此方法不是100%可靠的,因此建議使用基於超時的後備方案。不過,龍捲風沒有任何內置的支持,所以你必須自己實現它,或許與你鏈接的答案類似。

+0

也ping(http://tornadokevinlee.readthedocs.org/en/latest/websocket.html#tornado.websocket.WebSocketHandler.ping)可以很好地實現這個沒有超時,但在「意外關閉」意識到的方式 – kwarunek

+0

其實我不確定底層網絡協議的限制。瀏覽器的websocket甚至在底層網絡級別出現問題(例如,服務器獲取了終止信號)時也會發生onClose事件。我在瀏覽器端測試過這種情況。因此我認爲這是特定於Tornado的問題。 – frist

+0

「Server got kill signal」不是網絡級別的問題。嘗試拔下以太網電纜。 –