Mac OS上的6000端口有什么特别之处?

时间:2015-03-27 09:35:00

标签: macos web flask

启动Mac。从quickstart page获取基础Flask应用程序,并将端口更改为6000,从而为您提供以下内容:

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World!'

if __name__ == '__main__':
    app.debug = True
    app.run(port=6000)

将其保存在名为eg的文件中test.py。然后创建virtualenv,运行pip install flask,然后调用test.py。以下是您将在终端上看到的内容:

 * Running on http://0.0.0.0:6000/ (Press CTRL+C to quit)
 * Restarting with stat

所以Flask声称已绑定到端口6000.现在启动浏览器并导航到localhost:6000。我希望看到愚蠢的消息Hello World,当我将port参数遗漏给run时,会导航到localhost:5000。但这是我所看到的:

enter image description here

现在在终端上执行Ctrl-C,并停止正在运行的进程。将端口更改为6001,重新运行该命令。 Hello World回来了!怎么会这样?没有其他进程连接到端口6000; lsof -i | grep 6000返回0结果,如果有任何进程,Flask将无法首先绑定到该端口。防火墙已关闭。

有什么想法吗?

1 个答案:

答案 0 :(得分:4)

好的,找到了答案。浏览器阻塞某些端口,尽管它们不在系统端口范围内,其中一些端口广泛用于本地Web开发。 The links in this answer指出了浏览器供应商和详尽列表的基本原理。正如德国人所说," Wieder非常敏捷。

向@glyphobet致谢,他的评论导致了正确的答案。

相关问题