Python 3.x 有没有办法在flask socketio事件中修改flask会话?

Python 3.x 有没有办法在flask socketio事件中修改flask会话?,python-3.x,flask,flask-socketio,Python 3.x,Flask,Flask Socketio,我尝试了以下方法: @socketio.on(“注册请求”) def注册请求(json): 打印(f“Response!{json}”) emit(“注册”、“接收!”) 会话[“用户”]={“名称”:json[“名称”]} 但当我想通过以下方式访问它时: @app.route(“/”) def index(): ... 打印(会话[“用户”]) ... 我将得到一个密钥错误,这意味着密钥没有存储在会话中。我不久前写了一篇关于这个主题的博客文章和视频,因为这很棘手。这是帖子: 简单地说,基于

我尝试了以下方法:

@socketio.on(“注册请求”)
def注册请求(json):
打印(f“Response!{json}”)
emit(“注册”、“接收!”)
会话[“用户”]={“名称”:json[“名称”]}
但当我想通过以下方式访问它时:

@app.route(“/”)
def index():
...
打印(会话[“用户”])
...

我将得到一个密钥错误,这意味着密钥没有存储在会话中。

我不久前写了一篇关于这个主题的博客文章和视频,因为这很棘手。这是帖子:

简单地说,基于cookie的会话不能从Socket.IO处理程序修改,因为无法在WebSocket上设置cookie。如果切换到服务器端会话扩展(如Flask会话),则在Socket.IO处理程序中所做的更改不需要在客户端中设置cookie,因此在这种情况下,更改将保存并可从HTTP路由访问