From 7ba9b7d01695c3a81db2a415c12935c9f4657d3b Mon Sep 17 00:00:00 2001 From: Yannik Schmidt Date: Mon, 20 Aug 2018 05:55:49 +0200 Subject: [PATCH] Server functionality --- python-server/exec_server.py | 16 ++++++++++++---- python-server/server_interface.py | 25 +++++++++++++++++++++++++ 2 files changed, 37 insertions(+), 4 deletions(-) mode change 100644 => 100755 python-server/exec_server.py diff --git a/python-server/exec_server.py b/python-server/exec_server.py old mode 100644 new mode 100755 index 90b5b7d..ce4a4b4 --- a/python-server/exec_server.py +++ b/python-server/exec_server.py @@ -1,6 +1,7 @@ #/usr/bin/python3 + import socketserver -import server interface +import server_interface class AppRequestHandler(socketserver.BaseRequestHandler): def __init__(self, request, client_address, server): @@ -12,12 +13,19 @@ class AppRequestHandler(socketserver.BaseRequestHandler): def handle(self): data = self.request.recv(1024) - retval = server_interface.parse_request(data) - self.request.send(retval) + retval = server_interface.parse_request(data) + print(retval) + self.request.send(retval) return def finish(self): return socketserver.BaseRequestHandler.finish(self) def start_server(): - server = socketserver.Server(("localhost",7100),AppRequestHandler) + socketserver.TCPServer.allow_reuse_address = True + server = socketserver.TCPServer(("localhost",7100),AppRequestHandler) + server.serve_forever() + + +if __name__ == "__main__": + start_server() diff --git a/python-server/server_interface.py b/python-server/server_interface.py index feb6463..2cb39fb 100644 --- a/python-server/server_interface.py +++ b/python-server/server_interface.py @@ -1,3 +1,28 @@ +def parse_request(data): + ''' parse request and call correct function ''' + + # echo/test connection + cleared_data = is_data_type(b"ECHOREQUEST,",data) + if cleared_data: + return cleared_data + + # other shit + return b"UNRECOGNIZED_SERVER_OPTION\n" + + + +def is_data_type(tag,data): + print(data) + print(tag) + data = data.strip(b"\n") + if data.startswith(tag): + ret = data.strip(tag) + if not ret: + ret = b"NULL\n" + return ret + return None + + def reply_logs(loglevel=0,lines=100): ''' replies with recent logs ''' pass