python-select异步IO

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python-select异步IO相关的知识,希望对你有一定的参考价值。

 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的主要内容,如果未能解决你的问题,请参考以下文章

java内存流:java.io.ByteArrayInputStreamjava.io.ByteArrayOutputStreamjava.io.CharArrayReaderjava.io(代码片段

java缓冲字符字节输入输出流:java.io.BufferedReaderjava.io.BufferedWriterjava.io.BufferedInputStreamjava.io.(代码片段

异步 IO 的整洁代码

Python异步IO

Cypress.io 如何处理异步代码

如何用python实现异步io