Форум сайта python.su
Помогите, пожалуйста, разобраться.
Я создал класс для получения потоковых данных с биржы. При обрыве связи появляется ошибка
WinError 10060 Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера
import threading import websocket import json import time streams = ['bnbbusd@bookTicker'] class MyWebSocket(threading.Thread): def __init__(self, streams): super(MyWebSocket, self).__init__(daemon = True) self.__streams = streams self.__ws = websocket.WebSocketApp("wss://stream.binance.com:9443/ws", on_open = self.__ws_open, on_message = self.__ws_message, on_error = self.__ws_error, on_close = self.__ws_close) self.__update_streams_event = threading.Event() def run(self): self.__ws.run_forever() def __ws_error(self, __ws, err): print(err) def __ws_close(self, __ws, close_status_code, close_msg): print('Close', close_status_code, close_msg) def __ws_open(self, __ws): data = { "method": "SUBSCRIBE", "params": self.__streams, "id": 1, } self.__ws.send(json.dumps(data)) def update_streams(self, streams): self.__streams = streams self.__update_streams_event.set() def __ws_message(self, __ws, message): msg = json.loads(message) print(msg) if self.__update_streams_event.is_set(): self.__ws_open(self.__ws) self.__update_streams_event.clear() def main(): global streams th = MyWebSocket(streams) th.start() while True: time.sleep(5) print('--------', streams, len(streams)) streams.append('btcbusd@bookTicker') streams = list(set(streams)) th.update_streams(streams) if __name__ == "__main__": main()
Отредактировано Mars111 (Июль 8, 2022 23:18:56)
Офлайн
Может наведет вас на мысль
https://python.su/forum/topic/41696/
Офлайн