socket socketserver
socketserver 可以提供多线程的方式处理client 发过来的请求
# -*- coding: utf-8 -*- ''' 1.创建一个请求处理类, 这个类要继承BaseRequestHandler , 重写handle() 方法 , 与客户端所有的交互都是在handle 这个 方法中完成的 2.实例化TCPServer , 传递 server ip 和第一步创建的请求处理类给这个TCPServer 3.调用handle_request 或者server_forever 方法 server.handle_request() 方法值处理一个请求 server.server_forever() 方法处理多个请求 4.调用server.close() 关闭 ''' import socketserver #1.创建一个请求处理类 class myTCPServer(socketserver.BaseRequestHandler): #.重写handle def handle(self): while True: #接收客户端的数据 # try: 3.0 如果有异常说明client 断开 self.data = self.request.recv(1024) print(self.client_address[0]) if not self.data: break self.request.send(self.data.upper()) # except Exception as e: # print("客户端断开",e) # break HOST,PORT = "localhost",6969 #2.实例化TCPServer , ThreadingTCPServer 是多并发 server = socketserver.ThreadingTCPServer((HOST,PORT),myTCPServer) #3.调用server.server_forever() server.serve_forever()
posted on 2017-12-07 16:22 gaizhongfeng 阅读(135) 评论(0) 编辑 收藏 举报