tornado(一)

第一个tornado程序

 1 import tornado.web
 2 
 3 import tornado.ioloop
 4 
 5 class IndexHandler(tornado.web.RequestHandler):
 6 
7   """这个是视图函数类"""
 8   def get(self):
 9     """和django类似,通过函数名标识请求方式"""
10     self.write('hello world')
11 if __name__ == '__main__''
12 
13   app = tornado.web.Application([(r'/',IndexHandler)])
14 
15   app.listen(9000)
16 
17   tornado.ioloop.IOLoop.current().start()

1. tornado.web

  tornado的基础web框架模块

  RequestHandler

    封装了请求和响应。

  Application

    核心应用类,类似于flask的app,是和服务器对接的接口,保存了路由信息,

    listen方法绑定端口创建http服务器实例,但并未监听,与socket的listen不同,

2. tornado.ioloop

  tornado的核心io循环模块,封装了Linux的epoll和BSD的kqueue,tornado高性能的基石。 以Linux的epoll为例,其原理如下图:

   IOLoop.current()

    返回当前线程的IOLoop实例

   IOLoop.start()

    启动IOLoop实例的IO循环,同时服务器监听打开

总结Tornado Web程序编写思路

  1. 创建web应用实例对象,第一个初始化参数为路由映射列表。
  2. 定义实现路由映射列表中的handler类。
  3. 创建服务器实例,绑定服务器端口。
  4. 启动当前线程的IOLoop。

猜你喜欢

转载自www.cnblogs.com/lihao-like/p/tornado.html
今日推荐