0
1
mirror of https://github.com/radio95-rnt/RadioPlayer.git synced 2026-02-26 13:52:00 +01:00
This commit is contained in:
2025-12-13 20:12:07 +01:00
parent 5d0cc7ca28
commit 8636101950

View File

@@ -117,7 +117,9 @@ def websocket_server_process(shared_data: dict, imc_q: multiprocessing.Queue, ws
# register client
clients.add(websocket)
try: await ws_handler(websocket, shared_data, imc_q, ws_q)
finally: clients.discard(websocket)
finally:
await websocket.close(1001, "")
clients.discard(websocket)
async def process_request(websocket: ServerConnection, request: Request):
if request.path == "/web.html" and (file := Path(__file__, "..", "web.html").resolve()).exists():
data = file.read_bytes()
@@ -140,15 +142,12 @@ def websocket_server_process(shared_data: dict, imc_q: multiprocessing.Queue, ws
broadcaster = asyncio.create_task(broadcast_worker(ws_q, clients))
await stop_evt.wait()
watcher.cancel()
await watcher
ws_q.put(None)
broadcaster.cancel()
await broadcaster
server.get_loop().stop()
server.close()
ws_q.put(None)
await server.wait_closed()
watcher.cancel()
broadcaster.cancel()
await asyncio.gather(watcher, broadcaster, return_exceptions=True)
return
loop = asyncio.new_event_loop()