29 lines
555 B
Python
29 lines
555 B
Python
|
#!/usr/bin/env python
|
||
|
|
||
|
import os
|
||
|
import asyncio
|
||
|
import websockets
|
||
|
|
||
|
connections = set()
|
||
|
|
||
|
async def echo(websocket, path):
|
||
|
|
||
|
connections.add(websocket)
|
||
|
|
||
|
try:
|
||
|
async for message in websocket:
|
||
|
print(message)
|
||
|
|
||
|
for ws in connections:
|
||
|
if ws != websocket:
|
||
|
await ws.send(message)
|
||
|
except:
|
||
|
raise
|
||
|
finally:
|
||
|
connections.remove(websocket)
|
||
|
|
||
|
|
||
|
asyncio.get_event_loop().run_until_complete(
|
||
|
websockets.serve(echo, 'localhost', 8080))
|
||
|
asyncio.get_event_loop().run_forever()
|