image.png
tornado(龙卷风)
Tornado是一个Python Web框架和异步网络库,最初由FriendFeed开发。通过使用非阻塞网络I / O,Tornado可以扩展到成千上万的开放连接,使其非常适合 长时间轮询, WebSocket和其他需要与每个用户建立长期连接的应用程序。
image.png
龙卷风大致可分为四个主要部分:
- Web框架(包括
RequestHandler
子类以创建Web应用程序,以及各种支持类)。 - HTTP(
HTTPServer
和AsyncHTTPClient
)的客户端和服务器端实现。 - 一个异步网络库,其中包括类
IOLoop
和IOStream
,这些类用作HTTP组件的构建块,还可以用于实现其他协议。 - 一个协程库(
tornado.gen
),它允许以比链接回调更直接的方式编写异步代码。这类似于Python 3.5()中引入的本机协程功能。如果可用,建议使用本地协程代替模块。async def
tornado.gen
Tornado Web框架和HTTP服务器一起提供了WSGI的全栈替代方案。尽管可以将Tornado HTTP服务器用作其他WSGI框架(WSGIContainer
)的容器,但是这种组合有局限性,要充分利用Tornado,您将需要同时使用Tornado的Web框架和HTTP服务器。
安装
安装tornado使用pip命令:
代码语言:javascript复制$ pip install tornado
image.png
测试是否安装成功:
image.png
可以看到import
成功了。
实战
使用官网提供的code简单尝试下:
代码语言:javascript复制import tornado.ioloop
import tornado.web
class MainHandler(tornado.web.RequestHandler):
def get(self):
self.write("Hello, world")
def make_app():
return tornado.web.Application([
(r"/", MainHandler),
])
if __name__ == "__main__":
app = make_app()
app.listen(8888)
tornado.ioloop.IOLoop.current().start()
运行后就构建起了一个web服务,使用浏览器打开localhost:888
:
image.png
运行成功。O(∩_∩)O
参考
官网