我在同一个python应用程序中需要两个http服务器(有两个不同的端口8081和8082): 一个用于来自网络摄像头并发送到WebBrowser的视频流; 第二个命令(质量,过滤器等) 我没有成功定义两个Flask对象,因为'app.run'是阻塞的。 是可能的,还是需要使用Flask和BaseHTTPServer? 最好的问候。
答案 0 :(得分:1)
您可以拨打Flask.run(port=8081)
,但不能在同一个过程中调用(因为run()
确实在阻止)。
您应该为每个服务创建不同的Flask
个实例,并在单独的命令中运行它们(尽管一个可以在后台运行):
<强> run.sh 强>
#!/usr/bin/env sh
# Runs in background:
python app_webcam.py &
# Runs in foreground
python app_command.py
<强> app_webcam.py 强>
# ... (setup you Flask app)
if __name__ == '__main__':
app.run(port=8081)
<强> app_command.py 强>
# ... (setup you Flask app)
if __name__ == '__main__':
app.run(port=8082)
答案 1 :(得分:0)
好的,解决方案是: app.run(threaded = True,...) 现在可以同时处理多个请求,例如视频流,另一个用于视频参数调整等。