asyncore的使用
来源:互联网 发布:网络推手陈默 编辑:程序博客网 时间:2024/05/17 09:28
python 中asyncore模块的使用:
代码:
##asyncoreimport asyncore,socket########################################################################class AsyncGet(asyncore.dispatcher): """ the defined class """ #---------------------------------------------------------------------- def __init__(self, host): """Constructor""" asyncore.dispatcher.__init__(self) self.host = host self.create_socket(socket.AF_INET, socket.SOCK_STREAM) self.connect((host, 80)) self.request = "Get /index.html HTTP/1.0\r\n\r\n" self.outf = None print "连接 :", host def handle_connect(self): print 'connect:', self.host pass def handle_read(self): if not self.outf: print '正在连接:',self.host self.outf = open("%s.txt" % self.host, 'wb') data = self.recv(8192) if data: self.outf.write(data) pass def handle_writebale(self): return len(self.request) def handle_write(self): num_sent = self.send(self.request) pass def handle_close(self): asyncore.dispatcher.close(self) print "socket close in:",self.host if self.outf: self.outf.close() pass if __name__ == "__main__": AsyncGet("www.python.org") asyncore.loop() import asyncore,socket########################################################################class AsyncGet(asyncore.dispatcher): """ the defined class """ #---------------------------------------------------------------------- def __init__(self, host): """Constructor""" asyncore.dispatcher.__init__(self) self.host = host self.create_socket(socket.AF_INET, socket.SOCK_STREAM) self.connect((host, 80)) self.request = "Get /index.html HTTP/1.0\r\n\r\n" self.outf = None print "连接 :", host def handle_connect(self): print 'connect:', self.host pass def handle_read(self): if not self.outf: print '正在连接:',self.host self.outf = open("%s.txt" % self.host, 'wb') data = self.recv(8192) if data: self.outf.write(data) pass def handle_writebale(self): return len(self.request) def handle_write(self): num_sent = self.send(self.request) pass def handle_close(self): asyncore.dispatcher.close(self) print "socket close in:",self.host if self.outf: self.outf.close() pass if __name__ == "__main__": AsyncGet("www.python.org") asyncore.loop()
结果文件的内容为:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>302 Found</title>
</head><body>
<h1>Found</h1>
<p>The document has moved <a href="http://www.python.org">here</a>.</p>
<hr>
<address>Apache/2.2.16 (Debian) Server at dinsdale.python.org Port 80</address>
</body></html>
- asyncore的使用
- 使用asyncore
- python asyncore 使用
- python里使用asyncore模块
- 使用Twisted替换asyncore进行socket编程
- python的并发库:asyncore和eventlet
- 使用python内建asyncore编写socket client
- python里使用asyncore创建时间服务客户端
- Python--asyncore
- asyncore用法
- 【脚本编程系列】关于Python网络通讯asyncore,你需要知道的事
- Python中的asyncore(1)
- 异步I/O之asyncore
- Python异步通信模块asyncore
- Python异步通信模块asyncore
- asyncore AF_UNIX socket server cpu使用率100%问题解决办法
- Python asyncore异步socket封装模块用法总结
- GUID使用的使用
- Exercise 1: A Good First Program
- 作为一名大三学生,我是该选择Java还是C++?求救啦
- source insight 使用技巧
- c语言基础 二
- C++ 十进制'纯'小数转换为任意进制的小数
- asyncore的使用
- Re-installation failed due to different application signatures.解决方法
- ANDROID-Developing-tools-adb
- C#入门基础知识
- Ajax完成省市县三级连动
- js正则函数
- ORACLE_CDC
- 读取qq聊天记录文件(诺基亚塞班S60v3平台)
- 表达式语言====运算符