Websocket-Client -- Problem mit Timeout Ping/Pong
Verfasst: Montag 19. April 2021, 14:38
Grüßt euch,
als Programmier-/ und Pythonneuling stolper ich regelmäßig über Hindernisse in meinem Projekt. Ich schreibe meinen Code derzeit mit PyCharm.
Das Problem welches mich derzeit beschäftigt ist folgendes:
Ich möchte mit Hilfe des Websocket-Client (Documentation siehe Link) Kursdaten von Binance (Websocket Documentation siehe Link) auslesen und verarbeiten. Das klappt auch soweit.
Da ich jedoch nicht vollständig verstehe, was der Websocket-Client anstellt und welche Parameter ich wie dort einbringen muss, bekomme ich regelmäßig einen Timeout mit der Fehlermeldung "Timeout PING/PONG".....
Es ist mir wichtig das der Websocketrequest für immer läuft, ohne das ich einen Timeout erhalte und das Programm still steht, denn mit den dort ausgelesenen Daten arbeitet ein seperaters Python Programm.
Der unten dargestellte Code zeigt lediglich den Websocketrequest an. In der on_message Funkition findet die Verarbeitung der eingehenden message statt, den Codeblock habe ich hier aber vorerst, der Übersichtlichkeit halber, raus gelassen.
Wie kann ich nun verhindern, dass meine Verbindung geschlossen wird?
Über Hilfe würde ich mich freuen!
Besten Dank an alle und eine schöne Woche.
Grüße Chris
als Programmier-/ und Pythonneuling stolper ich regelmäßig über Hindernisse in meinem Projekt. Ich schreibe meinen Code derzeit mit PyCharm.
Das Problem welches mich derzeit beschäftigt ist folgendes:
Ich möchte mit Hilfe des Websocket-Client (Documentation siehe Link) Kursdaten von Binance (Websocket Documentation siehe Link) auslesen und verarbeiten. Das klappt auch soweit.
Da ich jedoch nicht vollständig verstehe, was der Websocket-Client anstellt und welche Parameter ich wie dort einbringen muss, bekomme ich regelmäßig einen Timeout mit der Fehlermeldung "Timeout PING/PONG".....
Es ist mir wichtig das der Websocketrequest für immer läuft, ohne das ich einen Timeout erhalte und das Programm still steht, denn mit den dort ausgelesenen Daten arbeitet ein seperaters Python Programm.
Der unten dargestellte Code zeigt lediglich den Websocketrequest an. In der on_message Funkition findet die Verarbeitung der eingehenden message statt, den Codeblock habe ich hier aber vorerst, der Übersichtlichkeit halber, raus gelassen.
Wie kann ich nun verhindern, dass meine Verbindung geschlossen wird?
Code: Alles auswählen
import websocket
websocket.enableTrace(True)
socketurl_combined = "wss://fstream.binance.com/stream?streams=btcusdt_perpetual@continuousKline_1m/btcusdt_perpetual@continuousKline_5m"
def on_message(wsapp, message):
print(message)
# [.....Code below.....]
def on_open(wsapp):
print('### ONLINE ###')
def on_close(wsapp):
print('### OFFLINE ###')
def on_error(wsapp, error):
print(error)
wsapp = websocket.WebSocketApp(socketurl_combined,
on_open=on_open,
on_message=on_message,
on_error=on_error,
on_close=on_close)
wsapp.run_forever(ping_interval=60, ping_timeout=10)
Besten Dank an alle und eine schöne Woche.
Grüße Chris