#!/usr/bin/env python import asyncio from websockets.server import serve pin = "1234" boats = ["999", "999", "999", "999"] def onCMD(data): global boats, pin print("command:" + str(data)) if (len(data) != 4): return if (data[1] != pin): return boot = int(data[2]) if (boot >= 0 and boot <= 3): boats[boot] = data[3] print(boats) def sendData(data): global boats print("data to send: " + str(data)) def onMessage(message): global boats data = message.split(':') if(data[0] == "cmd"): onCMD(message) else: for boat in boats: if(data[0] == boat): sendData(data) break async def run(ws, path): async for message in ws: onMessage(message) async def main(): async with serve(run, "0.0.0.0", 8080): await asyncio.Future() asyncio.run(main())