1、为啥要了解Tornado

  首先,Tornado是大神写出来的,如果学习python的话,参照Tornado的源码是一件非常好的事情,属于FaceBook的开源代码

  其次,Tornado就是我们在 FriendFeed 的 Web 服务器及其常用工具的开源版本[1]。Tornado 和现在的主流 Web 服务器框架(包括大多数 Python 的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快。得利于其 非阻塞的方式和对epoll的运用,Tornado 每秒可以处理数以千计的连接,因此 Tornado 是实时 Web 服务的一个 理想框架。我们开发这个 Web 服务器的主要目的就是为了处理 FriendFeed 的实时功能 ——在 FriendFeed 的应用里每一个活动用户都会保持着一个服务器连接。

2、学习之前先看看文档

http://old.sebug.net/paper/books/tornado/

3、以后慢慢剖析Tornado源码

4、先贴上自己要研究的内容

主要模块

  • web - FriendFeed 使用的基础 Web 框架,包含了 Tornado 的大多数重要的功能
  • escape - XHTML, JSON, URL 的编码/解码方法
  • database - 对 MySQLdb 的简单封装,使其更容易使用
  • template - 基于 Python 的 web 模板系统
  • httpclient - 非阻塞式 HTTP 客户端,它被设计用来和 web 及 httpserver 协同工作
  • auth - 第三方认证的实现(包括 Google OpenID/OAuth、Facebook Platform、Yahoo BBAuth、FriendFeed OpenID/OAuth、Twitter OAuth)
  • locale - 针对本地化和翻译的支持
  • options - 命令行和配置文件解析工具,针对服务器环境做了优化

底层模块

  • httpserver - 服务于 web 模块的一个非常简单的 HTTP 服务器的实现
  • iostream - 对非阻塞式的 socket 的简单封装,以方便常用读写操作
  • ioloop - 核心的 I/O 循环

5、官网实例

import tornado.ioloop
import tornado.web

#主要是处理Http请求的
class MainHandler(tornado.web.RequestHandler):
def get(self):
self.write("Hello, world")
#url分发的功能
application = tornado.web.Application([
(r"/", MainHandler),
])

#这个是服务端进程
if __name__ == "__main__":
application.listen(8888)
tornado.ioloop.IOLoop.instance().start()

最新文章

  1. lua获取时间
  2. Emgu.CV 播放视频
  3. Spark MLlib 之 Basic Statistics
  4. Python面向对象详解
  5. python学习笔记-多进程
  6. javaweb回顾第八篇如何创建自定义标签
  7. [Codevs1403]新三国争霸(MST+DP)
  8. AJAX学习
  9. [译] Python 3.5 协程究竟是个啥
  10. linux下解决端口被占用问题
  11. Ubuntu安装nodeJS
  12. phonegap与微信开放平台接口整合
  13. python 加密模块安装
  14. Hive 入门(转)
  15. 模拟Struts2的AOP实现
  16. Excel 菜单系统
  17. Unity Android路径及注意事项
  18. Android程序崩溃异常处理框架
  19. postgreSql 基本操作总结
  20. vue.js 2.0(1)

热门文章

  1. Angular单元测试系列
  2. 《Think in Java》(十四)类型信息
  3. python脚本7_打印九九乘法表
  4. Java的优势
  5. BZOJ 1045 [HAOI2008]糖果传递 ★(环形等分:中位数)
  6. Pandas 时间序列数据绘制X轴主要刻度和次要刻度
  7. ansible 调用playbook api执行(一)
  8. leetcode 427. Construct Quad Tree
  9. 杀死dialog
  10. 小练习:Two Sum