我有一个烧瓶网站,其中包含不同路线的不同应用程序:
@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)
使用套接字运行所有应用程序。
你所做的是正确的。仅当客户端连接到 Socket.IO 服务器时,才会激活该服务器。如果您的app1
和app2
页面未启动连接,则 Socket.IO 服务器会将这些连接传递到 Flask,并且仅与app3
页面上的客户端互动(假设您向该页面添加了 Socket.IO 客户端(。