我试图了解会话在 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 目录中生成两个不同的文件