01-tornado练习-tornado简介

# coding = utf-8
"""
启动一个tornado的web服务
"""

import tornado.web

from tornado.options import define, options

# 定义tornado.options能够从命令行中读取的命令
# 此处定义一个port,默认值为8000,使用options.port命令则向程序传入一个int数值8000
define('port', default=8000, help='run on 8000 port')
# 定义一个version命令,使用options.verson,则给程序传入一个字符串
define('version', default='version0.0.1', help='the first version')

class IndexHandler(tornado.web.RequestHandler):
    """
    处理逻辑。定义响应HTTP请求的内容,此处只定义了一个最简单的GET,
    即客户端向服务器发出get请求时,服务器的给出get函数下的内容作为响应
    此处响应的内容为:给请求写回一个OK
    """
    def get(self):
        self.write('ok')

if __name__ == '__main__':

    # 解析命令行,让tornado能够解析命令行参数
    tornado.options.parse_command_line()

    # 实例化一个tornado的web应用程序
    app = tornado.web.Application(
        handlers=[
            (r'/', IndexHandler),  # 请求地址及对应的处理逻辑
        ],
        template_path='templates',  # 指定应用中模板文件放置的位置
        static_path='static',  # 指定应用中静态文件放置的位置
    )

    http_server = tornado.httpserver.HTTPServer(app)  # 给实例的web应用绑定http通信相关内容
    http_server.listen(options.port)  # 指定http监听端口
    tornado.ioloop.IOLoop.instance().start()  # 使用ioloop开启tornado服务,并循环监听HTTP请求

 

posted @ 2018-05-06 17:35  温良Miner  阅读(216)  评论(0编辑  收藏  举报
分享到: