Server端:
import socket import time import SocketServer import threading class ThreadedTCPServer(SocketServer.ThreadingMixIn,SocketServer.TCPServer): pass class ThreadedTCPRequestHandler(SocketServer.BaseRequestHandler): def handle(self): BUFSIZE = 1024 print('Connect from: {0}:{1}'.format(self.client_address[0],self.client_address[1])) while(True): data = self.request.recv(BUFSIZE) self.request.sendall(data) time.sleep(0.1) def finish(self): print("client {0}:{1} disconnect!".format(self.client_address[0],self.client_address[1])) def connect(): HOST = socket.gethostname() PORT = 8000 server = ThreadedTCPServer((HOST, PORT), ThreadedTCPRequestHandler) server_thread = threading.Thread(target=server.serve_forever) server_thread.start() print('Server is starting up...') print('Host: {0}, listen to port: {1}'.format(HOST,PORT)) if __name__=='__main__': connect()
Client:
import socket import time HOST = '192.168.1.10' #server的ip地址 PORT = 8000 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect((HOST, PORT)) i = 0 while (1): s.sendall('This is client a') data = s.recv(1024) print('Received', repr(data)) i+=1 time.sleep(2) s.close()