我正在学习Flask,我决定尝试从网络上的其他设备连接到一个非常简单的服务器。我遵循了给出的建议 Flask - configure dev server to be visible across the network并更改了
app.run()
到
app.run(host='0.0.0.0')
但是,它无法正常工作。
我有一个Flask服务器设置如下:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return 'Hey there'
if __name__ == '__main__':
app.run(host='0.0.0.0')
当我启动服务器时,这是输出:
Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
当我通过localhost进行连接时,服务器工作正常但是,当我尝试使用以下方法从同一网络上的另一台设备进行连接时,我总是会超时:
http://<my_ip_address>:5000
我尝试从Windows 7桌面和iPhone上连接到服务器(在我的Macbook Air上运行),两者都接收超时。
非常感谢有关此事的任何帮助。
答案 0 :(得分:0)
要handle requests concurrently,您可以使用以下命令运行Flask:
app.run(threaded=True)
默认情况下,Flask使用一个线程运行,因此后续请求将被阻止,直到该线程可用。在制作中,您需要像Gunicorn这样的WSGI容器manage workers and threads。