创建一个socketserver
1.创建一个请求的类,必须是BaseRequestsHandler 的子类。并且要重写父类里面的handle()方法
2.必须实列化一个server class ,并且传递server ip和你创建的请求处理类给这个server class
3.server.server_forever() 处理多个请求·,永远执行
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
import socketserver class MyTcpHandler(socketserver.BaseRequestHandler): """创建 继承 重写""" def handle(self): # 与客户端交互 while True: try: self.data = self.request.recv(1024).strip() print("{} wrote:".format(self.client_address[0])) print(self.data) # if not self.data: # 客户端断开 # print(self.client_address,"断开了") # break self.request.sendall(self.data.upper()) except ConnectionResetError as e: print("error:",e) break if __name__ == "__main__": HOST,PORT = "localhost",3339 server = socketserver.TCPServer((HOST,PORT),MyTcpHandler) server.serve_forever()
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
import socket import hashlib client = socket.socket() client.connect(('localhost',3339)) while True: cmd = input(">>:").strip() if len(cmd) == 0: continue client.send(cmd.encode('utf-8')) data = client.recv(1024) print(data.decode()) client.close()