1. 程式人生 > >python-select異步IO

python-select異步IO

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:
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