tornado 与linux ioloop 交互

1,服务器socket 加入到 linux ioloop 之中,A 步骤
2,客户端socket连接到服务器socket
3,IOLoop 通过不断询问linux ioloop 拿到这个请求数据
4, 根据请求数据进行拆包(将网络层协议转换成代码,相当于uwsgi),根据路由拿到应用程序数据
5,将应用程序数据转换成 HTTP数据,并且使用服务器socket 发送到客户端socket
# coding:utf-8

import tornado.web
import tornado.ioloop
import tornado.httpserver # 新引入httpserver模块

class IndexHandler(tornado.web.RequestHandler):
    """主路由处理类"""
    def get(self):
        """对应http的get请求方式"""
        self.write("Hello tornado!")

if __name__ == "__main__":
    app = tornado.web.Application([
        (r"/", IndexHandler),
    ])
    #A. 相当于规定了路由格式,以及socket 连接格式!
    http_server = tornado.httpserver.HTTPServer(app)
    http_server.listen(8000)

    # B.tornado.ioloop.IOLoop.current() 表示为linux ioloop提供了代码交流
    # 开启一直询问的机制,询问linux ioloop
    tornado.ioloop.IOLoop.current().start()

 

posted @ 2018-09-24 00:05  十七楼的羊  阅读(162)  评论(0编辑  收藏  举报