Tornado是一个Python Web框架和异步网络库,最初由FriendFeed开发。通过使用非阻塞网络I / O,Tornado可以扩展到成千上万的开放连接,使其非常适合长时间polling、Socket和其他需要与每个用户建立长期连接的应用程序。
1、Tornado核心
(1)tornado.web:tornado的基础web框架
RequestHandler:封装对请求处理的所有信息和处理方法
get/post/..:封装对应的请求方式
write():封装响应信息,写响应信息的一个方法
(2)tornado.ioloop:核心io循环模块, tornado高性能处理的核心。
current()返回当前线程的IOLoop实例对象
start()启动IOLoop实力对象的IO循环,开启监听
(3)tornado.web.Application:组成Web应用程序的请求处理程序的集合。此类的实例是可调用的,可以直接传递给HTTPServer来为应用程序提供服务。
(4)tornado.gen 基于生成器的协程。
这个是需要在RequestHandler的各类请求中使用gen.coroutine修饰器,然后里面通过yield生成器来执行请求以得到异步返回。客户端一般使用非阻塞HTTP客户端,在tornado中提供了这样的客户端,如tornado.httpclient.AsyncHTTPClient。
总体来说:
Python2:
@coroutine
def post(self):
data = tornado.escape.utf8(self.r