码迷,mamicode.com
首页 > 其他好文 > 详细

Tornado的入门研究

时间:2017-04-11 14:55:02      阅读:257      评论:0      收藏:0      [点我收藏+]

标签:tor   self   epo   本地化   请求   学习   协同   epoll   loop   

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()

 

Tornado的入门研究

标签:tor   self   epo   本地化   请求   学习   协同   epoll   loop   

原文地址:http://www.cnblogs.com/skiler/p/6693363.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!