我在一个烧瓶网站上以不同的路线使用了不同的应用程序:
@app.route('/')
def index():
......
@app.route('app1')
def app1():
......
return render_template('app1.html')
@app.route('app2')
def app1():
......
return render_template('app2.html')
......
app = Flask(__name__)
if __name__ == "__main__":
app.run()
我的问题是我如何拥有另一个app3,如果用户转到该页面,则使用SocketIO(因为该网页将处理实时双向通信),但不更改现有结构(其他页面不使用套接字)
我看到文档正在使用:
app = Flask(__name__)
app.config['SECRET_KEY'] = 'secret!'
socketio = SocketIO(app)
if __name__ == '__main__':
socketio.run(app)
使用套接字运行所有应用程序。
答案 0 :(得分:3)
您所做的是正确的事情。仅当客户端连接到Socket.IO服务器时,才会激活它。如果您的app1
和app2
页面未启动连接,则Socket.IO服务器会将这些连接传递到Flask,并且仅与app3
页面上的客户端进行交互,假设您向该页面添加Socket.IO客户端。