Twisted网络编程必备(一)
0.1为什么使用Twisted?
如果你并不准备使用Twisted,你可能有很多异议。为什么使用Twisted而不是其他网络函数库或框架?如下是一些充分的理由:
·基于Python
Twisted是使用Python编写的,强壮的、面向对象的解释性语言。Python使它的爱好者充满热情。使用Python编程是一种乐趣,易于编写、易于阅读、易于运行。因为Python是跨平台的,所以可以运行Twisted程序在Linux、Windows、Unix和MAC等等系统上。
·异步和事件驱动的sqlite手机下载
同步网络编程函数库留给开发者一个痛苦的抉择:要么允许程序在网络通信时失去响应,或者引入非常复杂的线程。Twisted是基于事件的,异步网络通信框架允许编写的程序在处理事件时保持相应,却不需要使用线程。
·多功能
Twisted包括大量的功能。Email、WEB、news、chat、DNS、SSH、Telnet、RPC、数据库存取或者更多。所有的都为你准备好了。
·灵活
Twisted提供了高层类允许快速开始。而且并没有感到受限。如果需要高级功能,或者需要自定义网络协议,也是可以的。你可以实现自己的网络协议,控制每一个字节。
·开放源代码
Twisted是免费的。它包含源代码,按照函数库协议发行。并且欢迎在你的程序中使用Twisted,不必支付任何费用和担心法律问题。如果希望知道一个对象的运行原理也可以直接看源码。如果你开发出了自己的新功能和扩展,欢迎与我们共享。
·社区支持
Twisted有一个活跃的社区包含开发者和用户。如果你发现了问题,也可以在邮件列表上到很多开发者来帮助你。查看第一章的寻FAQ一节。或者进入#twisted这个IRC频道,来与开发者进行在线交流。
·易于整合的平台
一个Twisted程序可以在多种服务之间共享数据,可以整合很多工作。比如可以编写SMTP 到XMLRPC的代理,一个通过SSH来更新网站的服务,或者一个包含NNTP接口的WEB 讨论组。如果需要在平台之间交换数据,Twisted是个很好的选择。:if expand("%")== ""|browse confirm w|else|confirm w|endif
0.2本书包含的内容
本书并不是讲解Twisted框架中的每一个类,而是关注于更加真实的例子。本书也会帮助你理解Twisted中使用的关键技术和设计模式。如下是主要内容列表:
·安装Twisted
第一章讲解了下载和安装还有平台相关扩展库。
·使用TCP连接
第二章告诉你如何使用Twisted建立TCP连接,包括服务器和客户端。
·WEB客户端和服务器
第三、四章讲解了如何使用Twisted工作于WEB之上。第三章模拟WEB客户端。第四章编写了一个示例HTTP服务器,实现了基本的等级管理和响应功能。
·WEB服务和RPC
Twisted内置支持了多种WEB服务和远程调用方法。第五章讲解了如何在REST架构下建立应用。也讲解了如何编写XMLRPC和SOAP客户端和服务器,和如何将Python对象转换为网络连接。
·认证
管理用户和认证权限是很多程序的核心功能之一。第六章讨论了实现方法,并提供了在多种不同应用中具有很好移植性的框架。
·客户端和服务器
第七、八章给出了支持。第七章的例子展示了如何编写SMTP、POP3、IMAP客户端来收发。第八章展示了如何构建SMTP、POP3、IMAP服务器。
python入门教程 下载·Usenet新闻组
第九章讨论了使用NNTP协议的Usenet客户端和服务器。并展示了如何阅读和发送消息,如何运行NNTP服务器,如何使用NNTP作为其他方式的接口,如RSS等。
·SSH客户端和服务器
第十章讲解了SSH支持。例举了编写SSH服务器的程序,并提供了远程可用的Python解释器。这一章也展示了如何编写SSH客户端来执行远程命令。
·运行和管理Twisted程序
第十一章展示了如何使用Twisted工具运行和管理应用程序,比如作为后台精灵线程,使用setuid和chroot限制权限,和写入日志文件。
1.0快速开始
在你使用Twisted进行开发之前,你应该下载并安装。这一章讲解在各种操作系统下的安装过程。也包括将Twisted实用工具加入到路径和熟悉文档。其他问题可以到Twisted社区提问。
1.1安装Twisted
首先应该下载Twisted用于安装。可以到twistedmatrix/projects/core/下载。为了安装附加属性,还可以安装另外两个可选软件包。
Twisted网络编程必备(二)
1.1.1下面该如何做?
到twistedmatrix下载最新版本的Twisted。然后安装PyOpenSSL(一个Python开源OpenSSL库),这个软件包用于给Twisted提供加密传输支持(SSL)。最后,安装PyCrypto,一个包含了Python安全算法的包,用于提供SSH支持。这些软件包的下载地址在后面各个节中指定。
为了使用Twisted并不一定要安装PyOpenSSL和PyCrypto。但是不安装这些,将无法使用Twisted的SSL和SSH功能,其他功能还是可用的。
1.1.1.1Windows
到twistedmatrix/projects/core/下载Windows版Python2.4安装包。这个二进制包包含了Twisted的核心功能,包括大量的扩展包和协议支持。如果需要安装更多的例子,可以到twistedmatrix/products/download下载"Twisted Dependencies for Windows"。这个安装包已经包含了PyOpenSSL和PyCrypto。
这些页面有可能已经移动到其他页面中了,并且增加了一些新功能。如果不到这些连接,可以尝试从twistedmatrix访问。
如果一次下载了这三个软件包,运行Twisted安装程序。这是一个小的安装包,可以自动检测Python安装路径,下一步运行PyOpenSSL和PyCrypto安装包。这些都是很简单的,也只需要很少的几秒钟。
当编译Twisted模块时,可能需要一点时间,进度条会显示当前状态。解包也会耗费几分钟。
证实是否安装成功的方法是导入twisted包。
$python
......
shell命令介绍>>>import twisted
habits>>>
如果"import twisted"执行成功而没有错误,则已经安装好了Twisted。用strcmp需要什么头文件
1.1.1.2MAC OS X,Linux,与BSD
很多Linux和BSD的发行版,包括Debian、Ubuntu、Gentoo、Red Hat、FreeBSD等等已经预先安装了Twisted了,而且PyOpenSSL和PyCrypto也是可用的。可以检查你的OS是否被Twisted下载页所提及,或者搜索已经安装包历史可以看到。如果已经安装了,最好确保版本是Twisted2.0或更高,而不是1.3的release版本。
如果没有预安装Twisted,则需要下载源码来安装。
1.2从源码安装
如果你的操作系统上没有预安装Twisted,则需要从源代码安装。不必担心,从源码安装对于Python也很简单。
1.2.1下面如何做
首先,下载完整的Twisted源码包。附带的包可以让Twisted功能更多。运行本书的大多数例子都需要完整的安装。一旦下载了软件包,就解压到工作目录。
$tar-xjvf~/downloads/TwistedSumo-2005-03-22.tar.bz2
下一步进入解压后的目录。Twisted依赖于zope.interface包,而这个包已经附带在了Twisted Sumo发行包中了。解压ZopeInterface压缩包:
$tar-xzvf ZopeInterface-3.
进入ZopeInterface目录,运行命令"python setup.py install"。这个命令将会构建和安装zope.interface
包到python安装目录的lib/site-packages/twisted目录。这里是需要Administrator/root权限的。所以使用su或sudo来增加权限级别。
$cd ZopeInterface-3.0.1
$python setup.py install
一旦zope.interface安装完成,就可以安装Twisted了。在Twisted目录下,运行"python setup.py install"。这个命令将会编译Twisted的C模块,并安装Twisted:
unicode转中文原理$cd TwistedSumo-2005-03-22
$python setup.py install
如果你已经安装了多个版本的Python,确保Twisted安装在你正在运行的python命令对应的那个版本上。书的例子可以运行在Python2.3或更高版本。检查你的Python版本通过"python -V"。
祝贺,你已经成功安装了Twisted。现在测试一下是否安装成功,运行Python提示符:$python
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论