image.png
tornado(龍卷風)
Tornado是一個Python Web框架和異步網絡庫,最初由FriendFeed開發。通過使用非阻塞網絡I / O,Tornado可以擴展到成千上萬的開放連接,使其非常適合 長時間輪詢, WebSocket和其他需要與每個用戶建立長期連接的應用程序。
image.png
龍卷風大致可分為四個主要部分:
Web框架(包括
RequestHandler
子類以創建Web應用程序,以及各種支持類)。HTTP(
HTTPServer
和AsyncHTTPClient
)的客戶端和服務器端實現。一個協程庫(
tornado.gen
),它允許以比鏈接回調更直接的方式編寫異步代碼。這類似于Python 3.5()中引入的本機協程功能。如果可用,建議使用本地協程代替模塊。async def
tornado.gen
Tornado Web框架和HTTP服務器一起提供了WSGI的全棧替代方案。盡管可以將Tornado HTTP服務器用作其他WSGI框架(WSGIContainer
)的容器,但是這種組合有局限性,要充分利用Tornado,您將需要同時使用Tornado的Web框架和HTTP服務器。
安裝
安裝tornado使用pip命令:
$ pip install tornado
image.png
測試是否安裝成功:
image.png
可以看到import
成功了。
實戰
使用官網提供的code簡單嘗試下:
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