首页 > 其他 > 详细

IO多路复用

时间:2018-08-08 23:34:49      阅读:180      评论:0      收藏:0      [点我收藏+]

I/O多路复用指:通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作

 

服务端

import socket

sk1 = socket.socket()

sk1.bind((‘127.0.0.1‘,8001))

sk1.listen()

 

sk2 = socket.socket()

sk2.bind((‘127.0.0.1‘,8001))

sk2.listen()

 

sk3 = socket.socket()

sk3.bind((‘127.0.0.1‘,8001))

sk3.listen()

 

inputs = [sk1,sk2,sk3, ]

import select

while True:

#[sk1,sk2,sk3, ],select 内部自动监听sk1,sk2,sk3三个对象

#如果有人连接sk1

#r_list = [sk1,sk2,sk3]

  r_list, w_list, e_list = select.select(inputs,[],[],1)

  for sk in r_list:

    #连接每个对象

    conn,address = sk.accept()

    conn.sendall(bytes(‘hello‘,encoding=‘utf-8‘))

    conn.close()

 

 

客户端sk1

import socket

obj = socket.socket()

obj.connect((‘127.0.0.1‘,8001))

content = str(obj.recv(1024),encoding=‘utf-8‘)

print(content)

obj.close()

 

 

客户端sk1

import socket

obj = socket.socket()

obj.connect((‘127.0.0.1‘,8002))

content = str(obj.recv(1024),encoding=‘utf-8‘)

print(content)

obj.close()

 

IO多路复用

原文:https://www.cnblogs.com/huangguabushihaogua/p/9446360.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!