#!/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"" 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) 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(): socketserver.TCPServer.allow_reuse_address = True server = socketserver.TCPServer(("0.0.0.0",7100),AppRequestHandler) server.serve_forever() if __name__ == "__main__": start_server()