首页 > 代码库 > IO多路复用,实现多线程监听
IO多路复用,实现多线程监听
服务端 import socket sk1 = socket.socket() sk1.bind((‘127.0.0.1‘,8001)) sk1.listen() sk2 = socket.socket() sk2.bind((‘127.0.0.1‘,8002)) sk2.listen() sk3 = socket.socket() sk3.bind((‘127.0.0.1‘,8003)) sk3.listen() inp = [sk1,] import select while True: print(len(inp)) #r_list 接收inp参数 如果有用户来链接 它就会感知到, #w_list 可以写固定句柄 进行监听 如果 [sk1,sk3] #e_list 监听发生错误的句柄,如果有把就把它移除掉, 如下面for循环 r_list, w_list, e_list= select.select(inp,[],[],1) for i in r_list: # print(i,‘\n‘,sk1.accept()) if i == sk1: # print(i.accept(),‘\n‘,sk1.accept()) conn,address = i.accept() inp.append(conn) print(inp) else: try: str(conn.recv(1024),encoding=‘utf-8‘) conn.sendall(bytes(‘hello‘,encoding=‘utf-8‘)) except Exception as e: inp.remove(i)
客户端 import socket obj = socket.socket() obj.connect((‘127.0.0.1‘,8001)) inp = input(‘‘) obj.sendall(bytes(inp,encoding=‘utf-8‘)) r = str(obj.recv(1024),encoding=‘utf-8‘) print(r)
IO多路复用,实现多线程监听
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。