diff options
Diffstat (limited to 'backend/microservice/api/ml_socket.py')
-rw-r--r-- | backend/microservice/api/ml_socket.py | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/backend/microservice/api/ml_socket.py b/backend/microservice/api/ml_socket.py new file mode 100644 index 00000000..65dd7321 --- /dev/null +++ b/backend/microservice/api/ml_socket.py @@ -0,0 +1,28 @@ +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): + await websocket.send(msg)
\ No newline at end of file |