Ich habe einen einfachen Python-Prozess auf einem Server A, dieTornado: dynamisch eine Websocket-Nachricht an eine Javascript-Seite senden?
Daten von einem Server abruft B. Sobald die Daten gesammelt werden, ich mag eine WebSocket-Nachricht an eine Javascript-Seite senden zu können, auf einem Server C Schema:
A ---send data---> B -----send websocket message ---> C
Wie kann ich "dynamisch" eine neue Websocket-Nachricht an den Server C senden? Ist es möglich, oder muss ich zuerst eine Nachricht von der Javascript-Seite erhalten und dann eine Rückantwort senden?
Ich benutze Tornado, aber ich weiß nicht, wie ich die websocket.WebSocketHandler instanziieren und die write_message()
Funktion aufrufen soll. In jedem Beispiel, das ich sehe, gibt es keine explizite Instanziierung dieser Klasse, z. B .:
app = web.Application([ ('/ws', WebSocketHandler,), ]) # the class is just declared
Wie kann ich das tun? Tornado sieht für mich als Neuling in der Webentwicklung sehr komplex aus.
Dank
Danke. Bedeutet das, dass ich einen Heartbeat-Mechanismus implementieren muss, damit der Client den Server regelmäßig nach neuen Daten fragt? – carmellose
Der Client muss nicht abfragen, er muss lediglich eine Websocket-Verbindung erstellen und diese offen lassen (und bei einem Fehler erneut öffnen). Dann kann der Server Dinge dazu schieben. –
Ok, aber das war dann der Zweck meiner ersten Frage: Es scheint keine Möglichkeit zu geben, die tornado write_message() -Funktion explizit aufzurufen, nach der Instanziierung der WebSocketHandler-Klasse ... wie soll der Server eine Nachricht schreiben dem Client explizit, sobald die Verbindung geöffnet ist und nicht unbedingt, wenn eine Client-Nachricht angekommen ist? Danke – carmellose