import asyncio import websockets clients = set() async def handler(websocket, path): clients.add(websocket) try: while True: data = await websocket.recv() if data: # Рассылаем полученные данные всем подключенным клиентам await asyncio.wait([client.send(data) for client in clients]) except websockets.exceptions.ConnectionClosed: pass finally: clients.remove(websocket) async def main(): server = await websockets.serve(handler, "0.0.0.0", 12345) print("WebSocket сервер запущен на порту 12345") await server.wait_closed() if __name__ == "__main__": asyncio.run(main())