1.路由简介
一、路由
服务器上的web服务永久开启,等待客户端访问
先写一个路由表,在tornado中,路由表的定义如下
application = tornado.web.Application([ (r"/",MainHandler), ])
客户端访问路由器可以看成是客户端获取服务端资源的一个过程。路由表就决定了具体访问什么资源,路由表是访问服务器端口的入口
路由表以列表形式写出来,可以有很多个
import tornado.ioloop import tornado.web class MainHandler(tornado.web.RequestHandler): def get(self): self.write("你好,素心!!!") application = tornado.web.Application([ (r"/main",MainHandler), ]) if __name__ == "__main__": application.listen(8000) tornado.ioloop.IOLoop.instance().start()
在浏览器里面可以看到
二、Tornado的启动
tornado.ioloop.IOLoop.instance().start()
类似于死循环,使得服务一直处于开启状态
import tornado.ioloop #I/O事件循环 import tornado.web #web服务 import tornado.httpserver #单线程的HTTP服务 import tornado.options from tornado.options import define,options define('port',default=8000,help='run port',type=int) class MainHandler(tornado.web.RequestHandler): def get(self): self.write("你好,素心!!!") #路由表 application = tornado.web.Application( [ (r"/main",MainHandler) ] ) if __name__ == "__main__": tornado.options.parse_command_line() http_server = tornado.httpserver.HTTPServer(application) http_server.listen(options.port) tornado.ioloop.IOLoop.instance().start()
其中,if语句的使用固定模式,一个项目的开始到结束,if部分无需发生任何改变。
tornado.options.parse_command_line()
当代码中有以上模块,在调试代码的时候,可以使用命令改变参数运行:
1. python demo.py --port=8080 #tornado服务将以8080端口启动
2.python demo.py --version 1.0 #以tornado 1.0版启动
3.python demo.py --help