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())
|