学习twisted总是充满疑惑,让我望而却步,里面的各种调用让我很头疼,如何才能学好twsited,我也不知道,只是从今天开始我决心要好好学习下这个框架,一步一步的按照官方文档把一个一个的实例展现到我的博客,直到弄懂为止,希望各位大牛能够帮助我。
finger01.py
from twisted.internet import reactorreactor.run()
这里是一个简单的代码,我们这里只是启动了twisted的核心组件,循环器!当然它现在什么都没做,当你运行它的时候它是启动一个deamon没有监听网络上的任何端口,你也不能指望它做什么。
什么是循环器?
在我的理解他就是一个“死循环”,一个异步的接收器,不管有多少请求它都接收,处理完之后再返回结果,它是异步的,所以不会造成阻塞。当然这个“死循环”不会消耗任何的系统资源。
finger02.py
from twisted.internet import protocol, reactorclass FingerProtocol(protocol.Protocol): pass class FingerFactory(protocol.ServerFactory): protocol = FingerProtocol #这里的这段其实初学者挺难理解的,我在这里把他完整化一下 #def buildProtocol(self, addr): # return FingerProtocol() #这句话就等价于这个函数,其实它这里就是实例化了这个函数.reactor.listenTCP(1079, FingerFactory())reactor.run()
这个实例展现了一个完整twisted实例,。
FingerProtocol()展现了自己对协议的创建,当然这里只是一个雏形,什么也没做。
FingerFactory()这个类是对自己创建的协议进行处理,它是一个工厂,用来处理协议,
reactor.listenTCP()用来监听端口和调用工厂,工厂封装了协议,所以每一次处理就是调用工厂即可。大家暂且就这样理解吧。
reactor.run()启动事件循环器。啧啧。
这里大家应该比较了解twisted的一些流程。了解工作过程是我们掌握一个工具的重要方法。
先写到这里,如果有错误希望大家指正。非常感谢!