带有Flask的SocketIO,用于网站的特定页面

时间:2018-06-21 13:51:20

标签: flask flask-socketio

我在一个烧瓶网站上以不同的路线使用了不同的应用程序:

@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)

使用套接字运行所有应用程序。

1 个答案:

答案 0 :(得分:3)

您所做的是正确的事情。仅当客户端连接到Socket.IO服务器时,才会激活它。如果您的app1app2页面未启动连接,则Socket.IO服务器会将这些连接传递到Flask,并且仅与app3页面上的客户端进行交互,假设您向该页面添加Socket.IO客户端。