Files
ths-speech/python-server/exec_server.py
2018-08-29 14:21:18 +02:00

44 lines
1.3 KiB
Python
Executable File

#!/usr/bin/python3
import socketserver
import server_interface
class AppRequestHandler(socketserver.BaseRequestHandler):
def __init__(self, request, client_address, server):
socketserver.BaseRequestHandler.__init__(self, request, client_address, server)
return
def setup(self):
return socketserver.BaseRequestHandler.setup(self)
def handle(self):
data = b""
print("Recieved request")
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
retval = server_interface.parse_request(data)
try:
self.request.send(retval)
self.request.send(b"terminate\n")
print("Replied with: {}".format(retval))
except BrokenPipeError:
print("Connection was closed before reply could be sent.")
return
def finish(self):
return socketserver.BaseRequestHandler.finish(self)
def start_server():
socketserver.TCPServer.allow_reuse_address = True
server = socketserver.TCPServer(("localhost",7100),AppRequestHandler)
server.serve_forever()
if __name__ == "__main__":
start_server()