cleanup
This commit is contained in:
		
							
								
								
									
										28
									
								
								ws/broadcast-server.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								ws/broadcast-server.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,28 @@
 | 
			
		||||
#!/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()
 | 
			
		||||
		Reference in New Issue
	
	Block a user