当前位置: 移动技术网 > IT编程>脚本编程>Python > Tornado—三种启动tornado的方式

Tornado—三种启动tornado的方式

2019年12月10日  | 移动技术网IT编程  | 我要评论

163邮箱注册,中国银行利息表,卫格尔官方网站

第一种启动方式

import tornado.web       # web服务
import tornado.ioloop    # i/o 时间循环

class mainhandler(tornado.web.requesthandler):
    def get(self):
        self.write("hello world!")

# 建立路由表
app = tornado.web.application([
        (r"/index", mainhandler),
    ])

if __name__ == "__main__":
    app.listen(8000)  # 监听端口
    # tornado.ioloop.ioloop.current().start()
    tornado.ioloop.ioloop.instance().start()  # 开始事件

第二种启动方式

import tornado.web         # web服务
import tornado.ioloop      # i/o 时间循环
import tornado.httpserver  # 新引入httpserver模块,单线程的http服务

class mainhandler(tornado.web.requesthandler):
    def get(self):
        self.write("hello world!")

# 建立路由表
app = tornado.web.application([
        (r"/index", mainhandler),
    ])

if __name__ == "__main__":
    http_server = tornado.httpserver.httpserver(app)
    http_server.listen(8000)
    # tornado.ioloop.ioloop.current().start()
    tornado.ioloop.ioloop.instance().start()  # 开始事件

在这一修改版本中,我们引入了tornado.httpserver模块,顾名思义,它就是tornado的http服务器实现。

我们创建了一个http服务器实例http_server,因为服务器要服务于我们刚刚建立的web应用,将接收到的客户端请求通过web应用中的路由映射表引导到对应的handler中,所以在构建http_server对象的时候需要传出web应用对象app。http_server.listen(8000)将服务器绑定到8000端口。

实际上一版代码中app.listen(8000)正是对这一过程的简写。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网