首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

应用Twisted Application 框架

2012-11-09 
使用Twisted Application 框架翻译by:pakoemail/gtalk:zealzpc@gtalk.com目标:?介绍twisted Application

使用Twisted Application 框架

翻译by:pako

email/gtalk:zealzpc@gtalk.com

目标:

?

介绍twisted Application 结构

介绍如何使用.tac文件和twistd部署twisted application

介绍twisted services

?

?

?

概要

?

Twisted application框架负责启动和停止你的应用程序。使用application框架中已经实现了的那些工具可以使你方便的实现 daemo,logging,选择一个reactor等功能,而不用为此再做那些枯燥的工作。

?

?

Twisted applications 最主要的工具是一个命令行的组件叫twistd。Twistd 实现了跨平台,在运行Twisted applications时强烈推荐使用它。

?

Twisted Application 框架最重要的组件就是 twisted.application.service.Application类,代表了你的应用程序。当然,Application类不会提供所有你想实现的功能。事实上,Application类更像一个services的容器,里面可以包容若干个service。你所要做的就是用过Application这个框架来实现里面的一个个services。

?

对于“service”,我们是指那些可以启动和停止的程序。通常来说service包括web servers ,FTP servers,和ssh 客户端。你的Application对象可以容纳许多service,通过IServiceCollections类甚至可以是一个有结构层次的service。

?

下面是一个简单的Application结构例子,它实现了一个echo tcp服务跑在7001端口上。

?

?

from twisted.application import internet, servicefrom twisted.names import server, dns, hostsport = 53# Create a MultiService, and hook up a TCPServer and a UDPServer to it as# children.dnsService = service.MultiService()hostsResolver = hosts.Resolver('/etc/hosts')tcpFactory = server.DNSServerFactory([hostsResolver])internet.TCPServer(port, tcpFactory).setServiceParent(dnsService)udpFactory = dns.DNSDatagramProtocol(tcpFactory)internet.UDPServer(port, udpFactory).setServiceParent(dnsService)# Create an application as normalapplication = service.Application("DNSExample")# Connect our MultiService to the application, just like a normal service.dnsService.setServiceParent(application)
?

?

?

?

?

?

热点排行