呵呵-屌炸天的内含社区

woshabi.cn(我傻逼)是一个包含妹子套图,真人自拍,极品前任,极品同事,内涵段子,糗事的屌炸天内涵社区。他为我们 ...

↑我也要推荐

一个典型的 Twisted 服务端应用程序

发布时间:2011-06-22 06:17:03, 关注:+6586, 赞美:+12, 不爽:+10

原始出处: colaghost

简介

一个典型的twisted服务端应用程序一般包括三部分,分别是协议、工厂和启动服务器,其中协议负责接管建立连接后的工作,包括收发数据和决定是否关闭连接等;工厂的工作是管理连接事件。

这里是通过继承Twisted中的一些类来实现的!

基本框架

导入部分

这部分主要是供协议类和工厂类使用的

from twisted.internet import protocol
from twisted.protocols import

协议

继承自basic.LineReceiver,可以进行行和原始数据两种方式的接收处理。

class Answer(LineReceiver):
    def lineReceived(self, line):
        #行数据接收处理方式
        pass
    def dataReceived(self, data):
        #原始数据接收处理方式
        pass

工厂

继承自protocol.ServerFactory。

class AnswerServerFactory(protocol.ServerFactory):
    protocol=Answer#表明每次成功建立连接时要实例的协议类型
    def startFactory(self):
        #在开始监听一个端口或连接器时被调用
        pass
    def stopFactory(self):
        #在停止监听所有端口或连接器时被调用
        pass
    def  buildProtocol(self, addr):
        #实例化Protocol的子类
        protocol.ServerFactory.buildProtocol(self, add)
        pass

启动服务器

from twisted.internet import reactor
reactor.listenTCP(8000,AnswerServerFactory())
reactor.run()

其中reactor是一个反应器,它主要用于实现事件循环,除了分发事件循环之外,还需做:定时任务、线程、建立网络连接和监听连接等。 

如果你觉得本站对你有帮助,欢迎向本站赞助 :P

使用支付宝捐赠

Copyright© Python4cn(news, jobs) simple-is-better.com, 技术驱动:powered by web.py 空间主机:Webfaction

版权申明:文章转载已注明出处,如有疑问请来信咨询。本站为 python 语言推广公益网站,与 python 官方没有任何关系。

联系/投搞/留言: en.simple.is.better@gmail.com 向本站捐赠