Python_socketserver模块并发网络编程
#TCPServer
#socketserver 服务器并发访问的模块,服务器可以同时处理多个客户端的请求 #导入import socketserver #定义一个继承socketserver.BaseRequestHandler的类 #类中定义handle函数 #self.request 服务器获取的客户端的链接 #self.client_address 客户端的ip与端口 #self.request.send() 发送信息 #self.request.recv() 接收信息 #socketserver.ThreadingTcpServer(ip_port,类) 定义TCP并发客户端,绑定客户端连接的类 #socket.server_forever() 服务器处理一次请求后,继续等待线程接入 import socketserver ip_port=("127.0.0.1",8006) class server(socketserver.BaseRequestHandler): def handle(self): print("conn:>>%s"%self.request) # print("client_addres:>>%s"%self.client_address) while True: data=self.request.recv(1024).decode("utf-8") print("客户端发来信息:>>%s %s"%(data,self.client_address)) self.request.send(data.upper().encode("utf-8")) if __name__=="__main__": so=socketserver.ThreadingTCPServer(ip_port,server) so.serve_forever()
#UDP Server
#socketserver UDP #定义继承socket.BaseRequestHandler的类 #类定义handle函数 #self.request 接收的是个tuple,第一个是数据,第二个是连接 #self.client_address 获取的是客户端的地址与端口 #self.request[0]是接收的数据 #self.request[1] 是客户端的连接 #self.request[1].sendto(data,self.client_address) 向客户端发送数据 #s=socketserver.ThreadingUdpServer(ip_port,绑定的类) 创建基于服务器类的Udp服务 #s.socket.server_forever() 循环接收不同客户端的请求 import socketserver ip_port=('127.0.0.1',8080) class udpserver(socketserver.BaseRequestHandler): def handle(self): print(self.request) data=self.request[0].decode("utf-8") # data,addr=self.request.recv(1024).decode("utf-8") print("客户端发来请求:>>%s --%s"%(data,self.request[1])) self.request[1].sendto(data.upper().encode("utf-8"),self.client_address) if __name__=="__main__": us=socketserver.ThreadingUDPServer(ip_port,udpserver) us.serve_forever()
十七.Python_socketserver模块并发网络编程
猜你喜欢
转载自blog.csdn.net/qq_39663113/article/details/85646273
今日推荐
周排行