1 Server 端 code 2 3 import SocketServer 4 class MyTCPHandler(SocketServer.BaseRequestHandler): 5 """ 6 The RequestHandler class for socket server. 7 It is instantiated once per connection be established(request from client) to the socker server. 8 and must be override the handler() method to implement communication to the client. 9 """ 10 connection_account = 0 11 def handle(self): # redefine method ' handl()' in parent class 12 MyTCPHandler.connection_account += 1 13 print ("The %d client connected !" % MyTCPHandler.connection_account ) # How to statistic total No. 14 # self.request is the TCP socket that connected to the client 15 while 1: 16 self.data = self.request.recv(1024).strip() 17 # if connected client dead, exit loop 18 if not self.data: 19 break 20 print("client: %s " 21 "send: %s") % (self.client_address[0],self.data) 22 self.request.sendall("GOT IT !") 23 24 if __name__ == "__main__": 25 HOST,PORT = "localhost",8888 26 # creating the socket server and binding to HOST::PORT == "localhost":: 8888 27 server = SocketServer.ThreadingTCPServer((HOST,PORT),MyTCPHandler) 28 # keeping server running until interrupt (Ctrl + C) 29 server.serve_forever(poll_interval=0.5)
client 端 code 同单线程