You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级Python后Flask-SocketIO报错:Server.emit()不识别broadcast参数

问题解决:Server.emit() 收到意外关键字参数 'broadcast'

问题原因

Flask-SocketIO 从4.x版本升级到5.x版本后,emit方法的参数规则发生变更:当指定room参数时,不再允许同时传递broadcast=True——因为定向到特定房间的发送逻辑,已经覆盖了原broadcast参数的作用场景。

修复方案

根据实际需求修改代码:

  • 若需向request.sid对应的单个客户端发送消息,直接移除broadcast=True参数:
    socketio.emit('message', response_data, room=request.sid)
    
  • 若需向所有客户端广播消息(排除当前发送者),保留broadcast=True并移除room参数:
    socketio.emit('message', response_data, broadcast=True)
    

依赖版本对比

升级后报错的依赖版本:

Werkzeug~=3.0.3
Flask~=2.2.5
Flask-SocketIO~=5.3.6
python-engineio~=4.5.0
python-socketio~=5.8.0

此前正常运行的依赖版本:

Werkzeug~=2.0.3
Flask~=2.1.0
Flask-SocketIO~=4.3.2
python-engineio~=3.14.2
python-socketio~=4.6.1

内容的提问来源于stack exchange,提问作者Kanchan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 01:33:16