python的IO多路复用

一、

 

非阻塞状态:

import socket
from builtins import print, Exception

import time

sk = socket.socket()
address = ('127.0.0.1',8000)
sk.bind(address)
sk.listen(3)
#设置非阻塞IO(当没有接收到信息时会报异常)
sk.setblocking(False)
while 1:
try:
conn,add = sk.accept()
while 1:
data = conn.recv(1024)
print(data.decode('utf8'))
conn.sendall(data)
except Exception:
print('没有接收到消息')
time.sleep(3)

 多路复用IO:

 

posted on 2021-03-05 15:01  bruce.sharp  阅读(41)  评论(0)    收藏  举报