czwartek, 1 września 2016

Simple TCP multiport server

Script used for network testing


import threading
import time
import SocketServer

class ThreadedTCPRequestHandler(SocketServer.BaseRequestHandler):

    def handle(self):
        self.data = self.request.recv(1024).strip()
        print "%s wrote: " % self.client_address[0]
        print self.data
        self.request.send(self.data.upper())

class ThreadedTCPServer(SocketServer.ThreadingMixIn, SocketServer.TCPServer):
    pass

if __name__ == "__main__":
        HOST = ''
        PORT_A = 8080
        PORT_B = 8180
        PORT_C = 9990
        PORT_D = 10090

server_A = ThreadedTCPServer((HOST, PORT_A), ThreadedTCPRequestHandler)
server_B = ThreadedTCPServer((HOST, PORT_B), ThreadedTCPRequestHandler)
server_C = ThreadedTCPServer((HOST, PORT_C), ThreadedTCPRequestHandler)
server_D = ThreadedTCPServer((HOST, PORT_D), ThreadedTCPRequestHandler)

server_A_thread = threading.Thread(target=server_A.serve_forever)
server_B_thread = threading.Thread(target=server_B.serve_forever)
server_C_thread = threading.Thread(target=server_C.serve_forever)
server_D_thread = threading.Thread(target=server_D.serve_forever)

server_A_thread.setDaemon(True)
server_B_thread.setDaemon(True)
server_C_thread.setDaemon(True)
server_D_thread.setDaemon(True)

server_A_thread.start()
server_B_thread.start()
server_C_thread.start()
server_D_thread.start()

while 1:
        time.sleep(1)

Brak komentarzy:

Prześlij komentarz