From f17bf03eafc2436dba804ade560c8760b8932400 Mon Sep 17 00:00:00 2001 From: FReenen Date: Mon, 1 Jul 2024 20:27:24 +0200 Subject: [PATCH] update register cmd --- index.html | 2 +- recever.py | 28 +++++++++++++++++++++------- 2 files changed, 22 insertions(+), 8 deletions(-) diff --git a/index.html b/index.html index 382bba1..68486ad 100644 --- a/index.html +++ b/index.html @@ -33,7 +33,7 @@ connection.onopen = function () { - connection.send(clientId + ';' + Math.floor(new Date().getTime()/1000.0).toString()); + connection.send(clientId + ';3440;' + Math.floor(new Date().getTime()/1000.0).toString()); setTimeout(() => { connection.send(clientId + ';boats'); }, 100); }; diff --git a/recever.py b/recever.py index fa9a306..41f2ed9 100644 --- a/recever.py +++ b/recever.py @@ -41,7 +41,7 @@ async def echoBoats(client): if (boat["state"] == BOAT_STATE_AVAILABLE): data += 'available:' elif (boat["state"] == BOAT_STATE_INCTRL): - data += 'in:' + data += 'inctrl:' await client['ws'].send(data) async def echoLockedBoats(client): @@ -88,9 +88,8 @@ async def onMessage(message, client): else: print("something else: '" + data[1] + "'") -async def newClient(message, ws): - message = message.split(';') - client = { "id": message[0], "boat": None, "ws": ws, "state": "active" } +async def newClient(clientId, ws): + client = { "id": clientId, "boat": None, "ws": ws, "state": "active" } print("new client connected: " + client['id']) for clie in clients: if (clie['id'] == client['id']): @@ -102,12 +101,27 @@ async def newClient(message, ws): await echoClients(client) return client +async def newBoat(boatId, name, ws): + boat = { "id": boatId, "name": name, "ws": ws, "state": "active" } + print("new client connected: " + client['id']) + for bo in boats: + if (bo['id'] == boat['id']): + bo['state'] = 'terminated' + boats.append(boat) + return boat + async def run(ws, path): client = None async for message in ws: - client = await newClient(message, ws) - if (client is not None): - break + message = message.split(';') + if (len(message) == 3 and message[1] == "4675"): + client = await newClient(message[1], ws) + if (client is not None): + break + elif (len(message) == 3 and message[1] == "3440"): + client = await newBoat(message[1], message[2], ws) + if (client is not None): + break async for message in ws: if (client['state'] == 'active'):