# 服务端import socketserverclass MyServer(socketserver.BaseRequestHandler): def handle(self): # print('来啦 老弟') while True: data,sock = self.request print(self.clIEnt_address) # 客户端地址 print(data.decode('utf-8')) sock.sendto(data.upper(),self.clIEnt_address)if __name__ == '__main__': """只要有客户端连接 会自动交给自定义类中的handle方法去处理""" server = socketserver.ThreadingUDPServer(('127.0.0.1',8080),MyServer) # 创建一个基于UDP的对象 server.serve_forever() # 启动该服务对象# 客户端import socketimport timeclIEnt = socket.socket(type=socket.soCK_DGRAM)server_address = ('127.0.0.1',8080)while True: clIEnt.sendto(b'hello',server_address) data,addr = clIEnt.recvfrom(1024) print(data.decode('utf-8'),addr) time.sleep(1) # 发送间隔太短的话,看不出效果二、基于TCP协议实现的并发
# 服务端import socketserverclass MyServer(socketserver.BaseRequestHandler): def handle(self): # print('来啦 老弟') while True: data = self.request.recv(1024) print(self.clIEnt_address) # 客户端地址 print(data.decode('utf-8')) self.request.send(data.upper())if __name__ == '__main__': """只要有客户端连接 会自动交给自定义类中的handle方法去处理""" server = socketserver.ThreadingTcpserver(('127.0.0.1',MyServer) # 创建一个基于TCP的对象 server.serve_forever() # 启动该服务对象 # 客户端import socketclIEnt = socket.socket()clIEnt.connect(('127.0.0.1',8080))while True: clIEnt.send(b'hello') data = clIEnt.recv(1024) print(data.decode('utf-8'))总结
以上是内存溢出为你收集整理的socketserver模块(实现并发)全部内容,希望文章能够帮你解决socketserver模块(实现并发)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)