博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
twisted学习--1 基础协议
阅读量:6703 次
发布时间:2019-06-25

本文共 1288 字,大约阅读时间需要 4 分钟。

  hot3.png

学习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的一些流程。了解工作过程是我们掌握一个工具的重要方法。

先写到这里,如果有错误希望大家指正。非常感谢!

转载于:https://my.oschina.net/jastme/blog/298358

你可能感兴趣的文章
口唇口腔紅肿案
查看>>
ZeroMQ接口函数之 :zmq_ctx_get - 得到环境上下文的属性
查看>>
JSP基本用法(二)隐含对象
查看>>
中缀表达式值
查看>>
PyTorch为何如此高效好用?
查看>>
学习ASP.NET Core Razor 编程系列十八——并发解决方案
查看>>
functions and closures are reference types-函数和闭包是引用类型
查看>>
垃圾期刊列表
查看>>
对Kalman(卡尔曼)滤波器的理解
查看>>
【转】 Android BCM4330 蓝牙BT驱动调试记录
查看>>
NBear简介与使用图解
查看>>
[转]Apache重写中的flag说明
查看>>
iPhone控件之UILabel
查看>>
NHibernate自定义集合类型(上):基本实现方式
查看>>
IE9的css hack
查看>>
BZOJ 3218(a + b Problem-二分图套值域线段树)
查看>>
android 常用资料
查看>>
Web版RSS阅读器(三)——解析在线Rss订阅
查看>>
Android大图片导致内存问题小结
查看>>
SQL SERVER 服务启动后停止,某些服务由其它服务或程序使用时将自动停止
查看>>