From 8568f5eadf09ff9536aa19054a129ab4aec49991 Mon Sep 17 00:00:00 2001 From: Nevena Bojovic Date: Wed, 13 Apr 2022 21:44:32 +0200 Subject: Doradjen training zahtev. --- backend/microservice/ml_socket.py | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 backend/microservice/ml_socket.py (limited to 'backend/microservice/ml_socket.py') diff --git a/backend/microservice/ml_socket.py b/backend/microservice/ml_socket.py new file mode 100644 index 00000000..c624ffaa --- /dev/null +++ b/backend/microservice/ml_socket.py @@ -0,0 +1,31 @@ +import asyncio +import websockets +import json + +def get_or_create_eventloop(): + try: + return asyncio.get_event_loop() + except RuntimeError as ex: + if "There is no current event loop in thread" in str(ex): + loop = asyncio.new_event_loop() + asyncio.set_event_loop(loop) + return asyncio.get_event_loop() + +# create handler for each connection +async def handler(websocket, path): + #data = json.loads(await websocket.recv()) + #print(data['test']) + msg = await websocket.recv() + print(msg) + +async def start(): + start_server = websockets.serve(handler, "localhost", 5027) + print('Websocket starting...') + get_or_create_eventloop().run_until_complete(start_server) + get_or_create_eventloop().run_forever() + + +async def send(msg): + print("WS sending message:") + print(msg) + await websocket.send(msg) -- cgit v1.2.3