首页 > 代码库 > twisted network programming essentials 读书体会
twisted network programming essentials 读书体会
首先twisted是在python结构下的一个事件驱动的网络框架。你可以在此基础上做出遵循各种协议的client--server结构的软件应用.
刚刚读了第一大章 An Intrduction to twisted主要有如下体会:
1) 所谓的事件驱动是指程序的运行是由外在的因素决定的,比如GUI程序依赖的是用户的鼠标操作,网络程序依赖的是client的送回来的消息,在twisted中事情的驱动体现在re-actor中,所谓re-actor本质就是一个处理事件的循环。
2) protocal和transports的分离,协议和数据的传输是分开来的,作者这样的思维是为了更好的拓展性。
3) factory设计模式在protocal中的应用,所有的协议都是由一个factory产生的,有些global的内容放到factory中比较合适,因为他可以保存protocal销毁后的内容。
4) 作者的整本书的流程就是从代码开始,然后解释代码,这样的流程比较容易让人接受很好。
5) telnel是个很好的debug的工具,用来模拟client各种的输入响应很适用。
6) defereds是为了让程序能异步执行的回调函数,他需要处理正常的和错误的情况,另外还要注意的是他可以有若干个处理组合成一个chain。
7) 整个库的使用结构非常的清晰明了,一看代码就能理解。
前面几点是库的基础的理解,下面是一个更加具体的web例子
8)HTTP GET协议格式如下,比较有趣的是在telnet中输入如下文本同样可以触发网络server的响应
GET / HTTP/1.1
Host: www.google.com
twisted network programming essentials 读书体会