【问题标题】:Close port using Tornado web server使用 Tornado 网络服务器关闭端口
【发布时间】:2023-03-15 13:08:02
【问题描述】:

我正在运行 Tornado 网络服务器来发送 GET 和 POST 请求。我希望能够将其关闭以对其进行修改,并在完成测试后启动它。但我不能,使用的端口永远在使用......

def startTornado():
    application = tornado.web.Application([
        (r"/", MainHandler),
    ])
    application.listen(80)
    tornado.ioloop.IOLoop.instance().start()
    print "Server is running"

def stopTornado():
    ioloop = tornado.ioloop.IOLoop.instance()
    ioloop.add_callback(ioloop.stop)
    print "Asked Tornado to exit"

if __name__ == "__main__":
    #stopTornado()
    startTornado()

我检查了网络上的所有答案,但它对我没有帮助。

ioloop = tornado.ioloop.IOLoop.instance()
ioloop.add_callback(ioloop.stop)

不关闭端口。它仍在使用中:

TCP    0.0.0.0:80            PC-1:0            LISTENING
[python.exe]

有人有想法吗?

【问题讨论】:

    标签: python port tornado


    【解决方案1】:

    要关闭端口,您必须调用HTTPServer.close(),而不是IOLoop.stop()(可以重新启动停止的IOLoop)。这意味着使用

    server = HTTPServer(application)
    server.listen(80)
    

    而不是Application.listen 便捷方法。

    【讨论】:

      猜你喜欢
      • 2011-07-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-30
      • 2011-06-27
      • 1970-01-01
      • 1970-01-01
      • 2014-11-10
      • 2011-02-01
      相关资源
      最近更新 更多