初识Tornado(ubuntu14.04-desktop)

目录

1、安装

2、关于平台

3、一个简单例子

4、单线程和多线程

5、options


Tornado走的是少而精的方向,注重的是性能优越,它最出名的是异步非阻塞的设计方式。

  • HTTP服务器
  • 异步编程
  • WebSockets

1、安装

sudo pip install tornado

2、关于平台

Tornado应该运行在类Unix平台,在线上部署时为了最佳的性能和扩展性,仅推荐Linux和BSD(因为充分利用Linux的epoll工具和BSD的kqueue工具,是Tornado不依靠多进程/多线程而达到高性能的原因)。

对于Mac OS X,虽然也是衍生自BSD并且支持kqueue,但是其网络性能通常不太给力,因此仅推荐用于开发。

对于Windows,Tornado官方没有提供配置支持,但是也可以运行起来,不过仅推荐在开发中使用。

3、一个简单例子

#coding:utf-8

import tornado.web  #tornado的基础web框架模块
import tornado.ioloop #tornado的核心io循环模块,封装了Linux的epoll和BSD的kqueue,tornado高性能的基石
import tornado.httpserver # tornado的HTTP服务器实现

class IndexHandler(tornado.web.RequestHandler): #RequestHandler:封装了对应一个请求的所有信息和方法
    """主路由处理类"""
    def get(self):
        """对应http的get请求方式"""
        #write(响应信息)就是写响应信息的一个方法
        self.write("Hello World!")
if __name__ == "__main__":
    #Tornado Web框架的核心应用类,是与服务器对接的接口,里面保存了路由信息表,其初始化接收的第一个参数就是一个路由信息映射元组的列表
    app = tornado.web.Application([(r"/",IndexHandler),])
    #用来创建一个http服务器实例,并绑定到给定端口
    app.listen(8000)
    ''' 
    app.listen(8000)是对下面两句的简化,可替换为下面两句:
    http_server = tornado.httpserver.HTTPServer(app) 
    http_server.listen(8000)
    创建了一个HTTP服务器实例http_server,因为服务器要服务于刚刚建立的web应用,将接收到的客户端请求通过web应用中的路由映射表引导到对应的handler中,所以在构建http_server对象的时候需要传出web应用对象app。http_server.listen(8000)将服务器绑定到8000端口。
    '''
    tornado.ioloop.IOLoop.current().start()
    #IOLoop.current():返回当前线程的IOLoop实例
    #IOLoop.start():启动IOLoop实例的I/O循环,同时服务器监听被打开

运行此脚本,开启tornado,浏览器输入:127.0.0.1:8000,查看:

总结Tornado Web程序编写思路

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值