在 Python 2 和 3k中,当端口已被使用时 usingwsgi.simple_server.make_server(host, port, app)
不会引发异常。相反,调用.server_forever()
或.handle_request()
只是阻塞,直到另一个端口关闭并且下一个连接传入。
import wsgiref.simple_server as simple_server
def application(environ, start_response):
start_response('200 OK', [('Content-type', 'text/html')])
return ["<html><body><p>Hello!</p></body></html>".encode('utf-8')]
def main():
server = simple_server.make_server('', 8901, application)
server.serve_forever()
if __name__ == "__main__":
main()
我希望会引发异常,因为socket.socket.bind()
在这种情况下也会引发异常。有没有办法确定返回的是否HTTPServer
成功绑定到指定端口?