Server fixes

This commit is contained in:
Sheppy
2018-08-21 16:42:37 +02:00
parent 925b5baeab
commit 26e86b7cad
2 changed files with 53 additions and 6 deletions

29
python-server/exec_server.py Normal file → Executable file
View File

@@ -1,6 +1,7 @@
#/usr/bin/python3
#!/usr/bin/python3
import socketserver
import server interface
import server_interface
class AppRequestHandler(socketserver.BaseRequestHandler):
def __init__(self, request, client_address, server):
@@ -11,13 +12,29 @@ class AppRequestHandler(socketserver.BaseRequestHandler):
return socketserver.BaseRequestHandler.setup(self)
def handle(self):
data = self.request.recv(1024)
retval = server_interface.parse_request(data)
self.request.send(retval)
data = b""
while True:
tmp = self.request.recv(1024)
if not tmp or b"\nterminate\n" in tmp:
if len(tmp) > len("\nterminate\n"):
data += tmp[:-len("\nterminate\n")]
break
data += tmp
print("Request: {}".format(data))
retval = server_interface.parse_request(data)
self.request.send(retval)
self.request.send(b"terminate\n")
print("Replied with: {}".format(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(("0.0.0.0",7100),AppRequestHandler)
server.serve_forever()
if __name__ == "__main__":
start_server()