File size: 755 Bytes
3be1591
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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())