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