创建socketserver三步:
1、你必须自己创建一个请求处理类,并且这个类要继承BaseRequestHandler,并且还要重写父类里的handle(),server端和client所有的交互都在handle()里面完成;
2、你必须实例化TCPServer,并且传递Server IP 和你上面创建的请求处理类给这个TCPserver;
3、server.serve_forever() # 处理多个请求,永远执行
代码饭粒:
#!/usr/bin/env python # -*- coding: utf-8 -*- # Date: 2017/11/29
# server
import socketserver class FoneSocketServer(socketserver.BaseRequestHandler): def handle(self): try: while True: self.data = self.request.recv(1024).strip() print("%s send: " % self.client_address[0]) print(self.data.decode()) self.request.send(self.data.upper()) except ConnectionResetError as e: print("Error: ",e) HOST, PORT = 'localhost', 9999 server = socketserver.ThreadingTCPServer((HOST,PORT),FoneSocketServer) server.serve_forever()
#!/usr/bin/env python # -*- coding: utf-8 -*- # client import socket client = socket.socket() client.connect(('localhost',9999)) while True: msg = input("Please input message:") if len(msg) == 0:continue client.send(msg.encode('utf-8')) data = client.recv(1024) if not data: print('Server has lost...') break print('recv:',data.decode()) client.close()
posted on
浙公网安备 33010602011771号