标签:
socketserver.TCPServer
Exampleserver side
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | import socketserver class MyTCPHandler(socketserver.BaseRequestHandler): """ The request handler class for our server. It is instantiated once per connection to the server, and must override the handle() method to implement communication to the client. """ def handle( self ): # self.request is the TCP socket connected to the client self .data = self .request.recv( 1024 ).strip() print ( "{} wrote:" . format ( self .client_address[ 0 ])) print ( self .data) # just send back the same data, but upper-cased self .request.sendall( self .data.upper()) if __name__ = = "__main__" : HOST, PORT = "localhost" , 9999 # Create the server, binding to localhost on port 9999 server = socketserver.TCPServer((HOST, PORT), MyTCPHandler) # Activate the server; this will keep running until you # interrupt the program with Ctrl-C server.serve_forever() |
client side
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | import socket import sys HOST, PORT = "localhost" , 9999 data = " " .join(sys.argv[ 1 :]) # Create a socket (SOCK_STREAM means a TCP socket) sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) try : # Connect to server and send data sock.connect((HOST, PORT)) sock.sendall(bytes(data + "\n" , "utf-8" )) # Receive data from the server and shut down received = str (sock.recv( 1024 ), "utf-8" ) finally : sock.close() print ( "Sent: {}" . format (data)) print ( "Received: {}" . format (received)) |
把
1 | server = socketserver.TCPServer((HOST, PORT), MyTCPHandler) |
改成
1 | server = socketserver.ThreadingTCPServer((HOST, PORT), MyTCPHandler) |
标签:
原文地址:http://www.cnblogs.com/bruceg/p/5264424.html