2016-04-20 6 views
-1

Im Bau einen Tornado websocket App lebte Zeit von Benutzern innerhalb einer SQL-Tabelle zu speichern ... Da ich nichts von serverseitigen passieren sehen kann, wenn Client-Verbindung Abfall (Javascript-Client) .. Ich wollte wissen, wie man damit umgeht.Wie Tornado Python behandelt Tropfen Client-Verbindungen

Dank im Voraus

+0

Hallo. Wenn der Client die Verbindung abbricht, haben Sie 'def on_close (self):' von WebSocketHandler aufgerufen? – Petr

Antwort

-1

Es gibt eine on_close Methode in dem Tornado websocket Handler, der aufgerufen wird erhalten, wenn die Verbindung geschlossen:

class WSHandler(tornado.websocket.WebSocketHandler): 
    def check_origin(self, origin): 
     return True 

    def open(self, poll_id): 
     print 'new connection' 

    def on_message(self, message): 
     print 'message received %s' % message 

    def on_close(self): 
     print 'connection closed' 

    def send_message(self, msg): 
     self.write_message(msg) 
+0

ich weiß, dass .. aber on_close Methode nicht Verlust von Netzwerk-Konnektivität von Client-Seite behandeln ... Wenn ich das Netzwerkkabel von meinem einen meiner Clients Websocket-Verbindung trennen scheint immer noch offen .. ID möchte wissen, wie damit umzugehen. –

+0

Es kann nicht garantiert werden, dass das System ein Problem mit einer nicht verwendeten Netzwerkverbindung erkennt. Sie müssen die Verbindung gelegentlich verwenden (mithilfe von WebSocketHandler.ping), um fehlgeschlagene Verbindungen zu erkennen. –

+0

gut ich obwohl ping war der richtige Weg, aber Javascript API nicht mit Ping Pong Anfrage also sollte ich Nachricht als "Ping"? Ich bin dabei geblieben –