import SocketServer import subprocess import sys class MyRequestHandler(SocketServer.StreamRequestHandler): def handle(self): print >>sys.stderr, repr(self.rfile), self.rfile._sock print >>sys.stderr, repr(self.wfile), self.wfile._sock s = subprocess.Popen(['echo','Hallo Client'], stdin=self.rfile, stdout=self.wfile, stderr=None, ) s.wait() if sys.argv[1:]: port = int(sys.argv[1]) else: port = 8000 server_address = ('', port) SocketServer.TCPServer.allow_reuse_address = True d = SocketServer.TCPServer(server_address, MyRequestHandler) print "Serving on %s port %s ..." % d.socket.getsockname() # handle one request only d.handle_request() d.server_close()