gpt4 book ai didi

python - Flask 服务器在 macbook 上托管时可见,但在 Windows 桌面上托管时不可见? (什么都试过了?)

转载 作者:太空宇宙 更新时间:2023-11-03 21:35:21 26 4
gpt4 key购买 nike

我的 MacBook 和 Windows 桌面位于同一 Wi-Fi 网络上。

这是我在 Mac 上运行的 python 3 代码 (myFlask.py):

from flask import Flask

app = Flask(__name__)
@app.route("/")
def hello():
return "Hello from Mac"

pn = 5000
ip = "192.168.1.146"

if __name__ == '__main__':
app.run(host = ip,port=pn)

当我在 Mac 上运行此程序时,我可以在两台设备上的浏览器上输入 192.168.1.146:5000 作为网址,并看到“Hello from Mac”

这是我在桌面上运行的 python 3 代码 (myFlask.py):

from flask import Flask

app = Flask(__name__)
@app.route("/")
def hello():
return "Hello from Windows"

pn = 5000
ip = "192.168.1.105"

if __name__ == '__main__':
app.run(host = ip,port=pn)

问题:当我在 Windows 桌面上运行此程序时,当我在两台设备上的浏览器上输入 192.168.1.105:5000 作为 URL 时,我会在桌面上,但在 Mac 上“无法访问此网站”。

我尝试了以下方法:

  1. 我仔细检查了 IP 地址,192.168.1.105 是正确的 (ipv4)。我还在 Windows 命令行上尝试了 ipconfig 中的所有其他 IP 地址,但仍然没有成功。
  2. 我查看了外部可见服务器 http://flask.pocoo.org/docs/0.12/quickstart/并尝试执行 $python3 myFlask.py --host=0.0.0.0 这里运气不佳。
  3. 我检查了我的路由器 (Linksys) 中是否启用了 DHCP,是的,它已启用。
  4. 我在 Windows 的控制面板中打开了家庭、公共(public)和域的所有共享设置。
  5. 我关闭了防火墙设置。

即使在这之后,我的 Mac、Android 手机、iPhone 或其他 Mac 都无法找到 Windows 桌面上托管的 Flask 服务器。但我的所有其他设备(包括 Windows 桌面)都可以看到 mac 托管的 Flask 服务器。

我应该做什么?

最佳答案

这涉及到网络的变幻莫测。更改为

ip = '0.0.0.0'

然后重试。当您尝试将 --port=0.0.0.0 传递给您的应用时,该选项被忽略,因为您的应用未解析选项。 Flask 运行程序会解析它们。在 Mac 端,调用将是

FLASK_APP=myApp.py flask run --host=0.0.0.0

我不知道 Windows 上的等效内容是什么。

关于python - Flask 服务器在 macbook 上托管时可见,但在 Windows 桌面上托管时不可见? (什么都试过了?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53273344/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com