龙卷风:缺少ioloop.add_handler()

时间:2013-11-13 14:41:20

标签: python tornado

我在示例中错过了ioloop.add_handler():

import tornado.ioloop
import tornado.web

class MainHandler(tornado.web.RequestHandler):
    def get(self):
        self.write("Hello, world")

if __name__ == "__main__":
    http_server = tornado.web.Application([
        (r"/", MainHandler),
    ])
    http_server.listen(8888)
    tornado.ioloop.IOLoop.instance().start()

来自:http://www.tornadoweb.org/en/branch3.1/web.html

未明确连接对象http_server和ioloop。这看起来不干净。 ioloop如何发现http_server?

一切正常,我只是好奇。

1 个答案:

答案 0 :(得分:1)

最终http_server确实连接到IOLoop,如 HTTPServer源自TCPServer。当您调用listen()方法时,它会调用tornado.netutil.add_accept_handler()调用ioloop.add_handler()。