代码之家  ›  专栏  ›  技术社区  ›  simpleuser

Tornado:应用程序或HTTPServer

  •  2
  • simpleuser  · 技术社区  · 8 年前

    各种Tornado文档显示使用了任一Tornado。网状物直接申请:

    application = tornado.web.Application(endpoints, **settings)
    application.listen(8888)
    tornado.ioloop.IOLoop.current().start()
    

    或通过HTTPServer:

    application = tornado.web.Application(endpoints, **settings)
    server = tornado.httpserver.HTTPServer(application)
    server.listen(8888)
    tornado.ioloop.IOLoop.current().start()
    

    有什么区别? 文件还没给我澄清。

    2 回复  |  直到 8 年前
        1
  •  3
  •   Ben Darnell    8 年前

    Application.listen 是构造 HTTPServer 打电话 listen 在上面。这很方便,因为您可能需要导入 Application 类,否则无需触摸 HTTPServer

    您唯一需要构建 HTTPServer 如果需要调用 在上面(你甚至可以通过 HTTPServer 构造函数参数通过 应用听 ,因此您可以通过这种方式获取HTTPS)。如果您使用多进程模式,或者使用与 HTTPServer.add_sockets

        2
  •  0
  •   Amber    8 年前

    从…起 the docs :

    典型的应用程序很少与HTTPServer类进行直接交互,除了在流程开始时启动服务器(甚至通常通过 tornado.web.Application.listen )。

    大体上 HTTPServer 是Tornado默认用于为其应用程序提供服务的内置HTTP服务器实现。您还可以通过不同的web服务器(例如:。 via WSGI )如果您有其他web服务器更好地处理的需求。