aboutsummaryrefslogtreecommitdiff
path: root/backend/microservice/api/ml_socket.py
diff options
context:
space:
mode:
authorNevena Bojovic <nenabojov@gmail.com>2022-03-29 19:17:11 +0200
committerNevena Bojovic <nenabojov@gmail.com>2022-03-29 19:17:11 +0200
commite8790a5b30170a99fc6ef61e24614456543febd7 (patch)
treee5a5768a8489764e5e3a9f1f91761ad4c6eb9bcc /backend/microservice/api/ml_socket.py
parent82030306a115d06a33bed48a5a0e15a053f0ae7e (diff)
parentf3d5f6fa046912c996e2581d9082087ccf7919d6 (diff)
Merge branch 'dev' of http://gitlab.pmf.kg.ac.rs/igrannonica/neuronstellar into dev
Diffstat (limited to 'backend/microservice/api/ml_socket.py')
-rw-r--r--backend/microservice/api/ml_socket.py28
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