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

Flask-SocketIO服务端无法接收客户端发送的事件问题求助

问题原因

你遇到的是Socket.IO客户端与服务端版本不兼容的典型问题,这是Flask-SocketIO开发中最常见的适配坑。
Flask-SocketIO对前端Socket.IO.js的版本有严格的匹配要求:你当前引入的前端Socket.IO是4.0.1版本,如果你本地安装的Flask-SocketIO为v4及以下版本,就会出现连接异常、事件无法传递的问题。

解决方法

  1. 优先升级服务端依赖到适配4.x客户端的版本,执行以下命令:
    pip install --upgrade flask-socketio python-socketio python-engineio
    升级完成后重新启动服务,即可正常接收my event事件的推送。
  2. 如果你需要保留旧版Flask-SocketIO v4,把前端引入的Socket.IO.js替换为2.x版本即可完成适配。

可选优化&调试方案

  • 你当前前端JS代码里的注释用了Python的#语法,JS单行注释应为//,修改为// Creating event when connected即可消除控制台语法报错,该错误不影响事件发送功能。
  • 可以在前端添加连接异常监听,快速定位连接问题:
socket.on('connect_error', (err) => {
  console.error('连接失败原因:', err)
})
  • 如果后续部署到跨域名场景,服务端初始化SocketIO时需要添加跨域配置:
socketio = SocketIO(app, cors_allowed_origins="*")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.18 04:06:04