#! /usr/bin/python import threading import time import SocketServer class ThreadedTCPRequestHandler(SocketServer.BaseRequestHandler): def handle(self): print "Connection from %s" % self.client_address[0] # self.data = self.request.recv(1024).strip() while(1): self.data = self.request.recv(1024) print "%s: %s" % (self.client_address[0], self.data) self.request.send("OK\n") class ThreadedTCPServer(SocketServer.ThreadingMixIn, SocketServer.TCPServer): pass if __name__ == "__main__": HOST = '0.0.0.0' MINPORT = 3002 MAXPORT = 3004 MyServers = [] MyThreads = [] for port in range(MINPORT, MAXPORT+1): print "Listening on port %i" % port MyServers.append(ThreadedTCPServer((HOST, port), ThreadedTCPRequestHandler)) MyThreads.append(threading.Thread(target=MyServers[-1].serve_forever)) MyThreads[-1].setDaemon(True) MyThreads[-1].start() while 1: time.sleep(1)