aboutsummaryrefslogtreecommitdiff
path: root/backend/microservice/ml_socket.py
diff options
context:
space:
mode:
authorDanijel Andjelkovic <adanijel99@gmail.com>2022-03-24 05:04:11 +0100
committerDanijel Andjelkovic <adanijel99@gmail.com>2022-03-24 05:04:11 +0100
commitb200ec561202a95ad716ffe84fcb6a8fa61bc939 (patch)
tree160d9d2e0da4cb35295c995b6bd817a3ff3fd056 /backend/microservice/ml_socket.py
parent1e945887ec22158c517c33afab0a38cb713eb144 (diff)
Napravio ml mikroservis websocket server.
Napravio backend websocket server, i backend socket klijent (za povezivanje sa ml mikroservisom). Napravio frontend websocket klijenta, za povezivanje sa backend-om.
Diffstat (limited to 'backend/microservice/ml_socket.py')
-rw-r--r--backend/microservice/ml_socket.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/backend/microservice/ml_socket.py b/backend/microservice/ml_socket.py
new file mode 100644
index 00000000..5489b787
--- /dev/null
+++ b/backend/microservice/ml_socket.py
@@ -0,0 +1,25 @@
+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())
+ #reply = f"Data recieved as: {data}!"
+ #print(data['test'])
+ msg = await websocket.recv()
+ await websocket.send("[" + msg + "]")
+
+start_server = websockets.serve(handler, "localhost", 5027)
+
+get_or_create_eventloop().run_until_complete(start_server)
+get_or_create_eventloop().run_forever() \ No newline at end of file