首页 > 代码库 > IO多路复用
IO多路复用
IO多路复用
selcet
import socket
import select
r,w,e=select.select(inputs,[],[],0.05) #IO多路复用
服务端
IO多路复用,同时监听多个socket对象
import socket import select sk=socket.socket() sk.bind(("127.0.0.1",8001)) sk.listen(5) sk1=socket.socket() sk1.bind(("127.0.0.1",8002)) sk1.listen(5) inputs=[sk,sk1,] while True: #IO多路复用,同时监听多个socket对象 # select 内部进行循环操作 # poll 内部进行循环操作 # epoll r,w,e=select.select(inputs,[],[],0.05) #IO多路复用 # 监听inputs ,访问sk,r=[sk],访问sk1,r=[sk1], for obj in r: if obj in [sk,sk1]: print("新连接进来了。。。",inputs) conn,addr=obj.accept() inputs.append(conn) else: print("有用户发数据了。。。",obj) data=obj.recv(1024) obj.sendall(data)
客户端
import socket sk=socket.socket() sk.connect(("127.0.0.1",8001)) while True: v=input(">>") sk.send(bytes(v,encoding="utf-8")) c=sk.recv(1024) print(c)
import socket sk=socket.socket() sk.connect(("127.0.0.1",8002)) while True: v=input(">>") sk.send(bytes(v,encoding="utf-8")) c=sk.recv(1024) print(c)
IO多路复用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。