mirror of
https://github.com/FAUSheppy/ths-speech
synced 2025-12-07 12:11:36 +01:00
44 lines
1.3 KiB
Python
Executable File
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()
|