Переподключение к websocket
Нужно организовать автоматическое переподключение веб-сокета от любых ошибок, как со стороны сервера, так и от стороны клиента, в случае если сокет оборвал подключение попробовать восстановить его раз в 5 секунд.
Cейчас код моей программы выглядит вот так: (но когда подключение обрывается, powershell через которую я запускаю код просто закрывается)
import aiohttp
from fake_useragent import UserAgent
ua = UserAgent()
HEADERS = {
"Origin": "http://test",
"Cookie": "language=en; type_device=desktop; currency=USD;"
}
async def start_ws():
HEADERS["User-Agent"] = ua.random
print("bot started")
async with aiohttp.ClientSession(headers=HEADERS) as session:
async with session.ws_connect('wss://test/ws') as ws:
async for msg in ws:
await ws_message(msg.data)
async def ws_message(message):
print(message)
if __name__ == '__main__':
await start_ws()
Ответы (1 шт):
Автор решения: Kers
→ Ссылка
Попробуйте через обработку исключений и перезапуск в цикле:
import asyncio
import time
# --- Ваш код ---
if __name__ == '__main__':
# await start_ws()
while True:
try:
asyncio.run(start_ws())
except Exception as e:
print(">> Вылет: ", e)
time.sleep(5)