介绍python twisted框架知识点,逻辑实现以及demo下载
twisted框架介绍:
twisted是一个用python语言写的事件驱动的网络框架,他支持很多种协议,包括UDP,TCP,TLS和其他应用层协议,比如HTTP,SMTP,NNTM,IRC,XMPP/Jabber。
twisted实现主要包括三个部分:reactor,protocol,factory。
反应器(reactor): 反应器用来执行事件循环,分发事件处理等等,每个应用程序中一般只能启动一个reactor。
协议(protocol): 协议用来完成与一个已经连接成功的主机的交互功能,主要有数据的接收和发送功能。连接的断开事件也可以在这里处理。比较常用的子类是twisted.protocols.basic.LineReceiver类。
工厂(factory): 工厂负责与一个协议的启动和关闭功能,而且还负责在连接成功时生成一个协议对象,(by gashero)用于与远程主机的交互功能。
逻辑实现:
自定义工厂类ServiceFactory,继承父类工厂类protocol.Factory:
class ServiceFactory(protocol.Factory):
# 重写父类方法,构造协议对象,并给协议对象添加一个factory属性指向工厂
def buildProtocol(self, addr):
return ReceiverService(self)
自定义协议类ReceiverService,推荐继承的父类协议类basic.LineReceiver:
class PayService(basic.LineReceiver