async def run_websockets(): uri = "wss://site.ru/socket.io/?EIO=3&transport=websocket" async with websockets.connect(uri, subprotocols=["websocket"], extra_headers=extra_headers) as ws: greeting = await ws.recv() print(f'greeting >>> {greeting}') print('=== greeting ===') message = await ws.recv() await ws.send("broadcast1") await ws.send("observer2") message = await ws.recv() # в этом цикле необходимо реализовать идею с пингом while True: try: message = await ws.recv() except websockets.exceptions.ConnectionClosedError: print('*** ConnectionClosedError ***')