我想在我的应用程序启动时并行运行两台服务器,一个用于HTTP
请求,一个用于websockets
(使用python-sockio)。我已经有一个python后端,它以HTTP
启动基于Flask
的服务器。但是,每次启动第一台服务器时,似乎都在阻塞线程,这反过来又导致第二台服务器根本不初始化。由于我使用的是Flask,是否有Flask
的方式可以做到这一点?
答案 0 :(得分:1)
您可以尝试像这样在两个不同的端口上运行两个服务器
flask run --host 0.0.0.0 --port 5000
flask run --host 0.0.0.0 --port 5001
如果我在解释尝试并查看此线程Python - How to run multiple flask apps from same client machine
方面做得很差,答案 1 :(得分:0)
听起来像XY problem。您的应用程序可以同时提供websocket和HTTP。这是从Miguel Grinberg的Flask-Socketio example中摘录的代码示例:
from flask import Flask, render_template
from flask_socketio import SocketIO, emit
app = Flask(__name__)
app.config['SECRET_KEY'] = 'secret!'
socketio = SocketIO(app)
@app.route('/')
def index():
return render_template('index.html')
@socketio.on('my event')
def test_message(message):
emit('my response', {'data': 'got it!'})
if __name__ == '__main__':
socketio.run(app)