|
@@ -10,8 +10,9 @@ import subprocess
|
|
|
async def hello(websocket):
|
|
|
#websocket is a WebSocketServerProtocol
|
|
|
message = await websocket.recv()
|
|
|
- host=websocket.remote_address[0]
|
|
|
-
|
|
|
+ client=websocket.remote_address[0]
|
|
|
+ host=websocket.local_address[0]
|
|
|
+
|
|
|
#delegate parsing to subroutine
|
|
|
#assume the message will be
|
|
|
#pathToPythonCode:argument
|
|
@@ -22,13 +23,26 @@ async def hello(websocket):
|
|
|
#for example _softwareSrc_ will get replaced by
|
|
|
#software/src directory from setup.json
|
|
|
|
|
|
- message=':'.join([host,message])
|
|
|
+ parts=message.split(':')
|
|
|
+ message=':'.join([client,message])
|
|
|
|
|
|
print(f"<<< FROM: {host}")
|
|
|
print(f"<<< {message}")
|
|
|
|
|
|
greeting = f"Hello {message}!"
|
|
|
|
|
|
+ key=0
|
|
|
+ try:
|
|
|
+ key=int(parts[1])
|
|
|
+ except ValueError:
|
|
|
+ #only used for exit checking
|
|
|
+ pass
|
|
|
+
|
|
|
+ if client==host and parts[0]=="END" and key<0:
|
|
|
+ print("Exit signal")
|
|
|
+ websocket.ws_server.close()
|
|
|
+ return
|
|
|
+
|
|
|
#run(message)
|
|
|
|
|
|
|
|
@@ -39,10 +53,11 @@ async def hello(websocket):
|
|
|
async def main():
|
|
|
origins=["merlin","labkey-public","onko-nix",None]
|
|
|
#server="vangogh.fmf.uni-lj.si"
|
|
|
- server="193.2.68.227"
|
|
|
- print(f"Starting server at {server}")
|
|
|
- async with websockets.serve(hello, server, 8765,origins=origins):
|
|
|
- await asyncio.Future() # run forever
|
|
|
+ serverIP="193.2.68.227"
|
|
|
+ print(f"Starting server at {serverIP}")
|
|
|
+ async with websockets.serve(hello, serverIP, 8765,origins=origins) as server:
|
|
|
+ #await asyncio.Future() # run forever
|
|
|
+ await server.wait_closed()
|
|
|
|
|
|
def run(message):
|
|
|
args=message.split(':')
|