У меня та же проблема, что и у github, с веб-сокетами python:
https://github.com/aaugustin/websockets/issues/367
Предлагаемое решение не работает для меня, хотя. Я получаю ошибку:
websockets.exceptions.ConnectionClosed: Соединение WebSocket закрыто: код = 1006 (соединение закрыто ненормально [внутреннее]), без причины
Это мой код:
async def get_order_book(symbol):
with open('test.csv', 'a+') as csvfile:
csvw = csv.writer(csvfile, delimiter=',', quotechar='|', quoting=csv.QUOTE_MINIMAL)
DT = Data(data=data, last_OB_id=ob_id, last_TR_id=tr_id, sz=10, csvw=csvw)
while True:
if not websocket.open:
print('Reconnecting')
websocket = await websockets.connect(ws_url)
else:
resp = await websocket.recv()
update = ujson.loads(resp)
DT.update_data(update)
async def get_order_books():
r = requests.get(url='https://api.binance.com/api/v1/ticker/24hr')
await asyncio.gather(*[get_order_book(data['symbol']) for data in r.json()])
if __name__ == '__main__':
asyncio.run(get_order_books())
Я тестировал его, закрывая свое интернет-соединение, но после десятисекундной задержки он все равно возвращает ошибку 1006.
Я использую Python 3.7 и Websockets 7.0.
Дайте мне знать, что вы думаете, спасибо!