python-select異步IO
阿新 • • 發佈:2017-07-17
try 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: 15if 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=True25 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