select nbsp ddr sock inpu int () blog
- 1#实现多任务在同一个线程切换2# ! /usr/bin / python 3 4 from socket import * 5 from select import * 6 from time import ctime 7 8 sockob = socket(AF_INET, SOCK_STREAM) 9 sockob.bind(("127.0.0.1", 7777)) 10 sockob.listen(5) 11 inputs = [sockob] 12
- while 1 : 13 rs,
- ws,
- es = select(inputs, [], []) 14
- for i in rs: 15
- if i == sockob: 16 connob,
- addr = sockob.accept() 17 print "connect from",
- addr 18 inputs.append(connob) 19
- else: 20
- try: 21 data = i.recv(1024) 22 disconnect = not data 23 except: 24 disconnect = True 25
- if disconnect: 26 print i.getpeername(),
- "disconnect"27 inputs.remove(i) 28 i.close() 29
- else: 30 i.send("[%s]:%s" % (ctime(), data)) 31 32 sockob.close()
python-select 异步 IO
来源: http://www.bubuko.com/infodetail-2213028.html