2

我试图了解会话在 flask_session 扩展中是如何工作的。我有服务器端代码:

from flask import Flask, session
from flask_session import Session
from flask_socketio import SocketIO

app = Flask(__name__)
app.config['SECRET_KEY'] = 'top-secret!'
app.config['SESSION_TYPE'] = 'filesystem'
Session(app)
socketio = SocketIO(app, manage_session=False)

@socketio.on('get-session')
def get_session():
    print(session.get('value', 'NO'))

@socketio.on('set-session')
def set_session(data):
    session['value'] = data
    print(session.get('value', 'NO'))

if __name__ == '__main__':
    socketio.run(app)

和客户:

from socketIO_client import SocketIO
with SocketIO('localhost', 5000) as socketio:
    socketio.emit('set-session', '3')
    socketio.emit('get-session')

我在服务器上得到以下输出:3 NO

但我想得到:3 3

我不明白为什么不保留会话变量。将不胜感激任何帮助。

UPD:执行上述代码会在 \flask_session 目录中生成两个不同的文件

4

0 回答 0