gs: allow multiple line in one packet

This commit is contained in:
Laila van Reenen 2024-08-10 14:30:28 +02:00
parent 0a7801bf7c
commit a94a15230f
Signed by: LailaTheElf
GPG Key ID: 1F4E6EE3E6DDF769

View File

@ -148,24 +148,31 @@ async def new_boat(boatId, name, ws):
async def run(ws, path): async def run(ws, path):
"""hadeler for every new websocket connection""" """hadeler for every new websocket connection"""
print("new websocket connection: " + path)
client = None client = None
async for message in ws: async for msg in ws:
message = message.split(';') for message in msg.split("\n"):
if len(message) == 3 and message[1] == "4675": if len(message) == 0:
client = await new_client(message[0], ws) continue
if client is not None: message = message.split(';')
async for message in ws: if len(message) == 3 and message[1] == "4675":
if client['state'] == 'active': client = await new_client(message[0], ws)
await on_message(message, client) if client is not None:
else: async for msg in ws:
break for message in msg.split("\n"):
break if len(message) == 0:
elif (len(message) == 3 and message[1] == "3440"): continue
client = await new_boat(message[0], message[2], ws) if client['state'] == 'active':
if client is not None: await on_message(message, client)
async for message in ws: else:
print("boat" + client['id'] + " says '" + message + "'") break
break break
elif (len(message) == 3 and message[1] == "3440"):
client = await new_boat(message[0], message[2], ws)
if client is not None:
async for message in ws:
print("boat" + client['id'] + " says '" + message + "'")
break
async def main(): async def main():
"""main""" """main"""