server sends and receives messages; supports new users joining and chatting
						commit
						04735eefa2
					
				| @ -0,0 +1 @@ | ||||
| websockets | ||||
| @ -0,0 +1,28 @@ | ||||
| import asyncio | ||||
| import json | ||||
| import websockets | ||||
| 
 | ||||
| connected = [] | ||||
| IDs = {} | ||||
| 
 | ||||
| async def handler(websocket): | ||||
|     await websocket.send(json.dumps({"type": "test", "message": "test packet from server"})) | ||||
|     async for original in websocket: | ||||
|         packet = json.loads(original) | ||||
|         print(packet) | ||||
|         if packet["type"] == "user_joined": | ||||
|             IDs[websocket] = packet["name"] | ||||
|             connected.append(websocket) | ||||
| 
 | ||||
|             websockets.broadcast(connected, json.dumps({"type": "server_message", "message": IDs[websocket] + " joined"})) | ||||
|         elif packet["type"] == "shout" or packet['type'] == "server_message": | ||||
|             websockets.broadcast(connected, json.dumps({"type": "shout", "name": IDs[websocket], "message": packet["message"]})) | ||||
| 
 | ||||
| 
 | ||||
| async def main(): | ||||
|     async with websockets.serve(handler, "", 8080): | ||||
|         await asyncio.Future()  # run forever | ||||
| 
 | ||||
| 
 | ||||
| if __name__ == "__main__": | ||||
|     asyncio.run(main()) | ||||
					Loading…
					
					
				
		Reference in New Issue