python-3.x - SocketIO、Python-SocketIO 和 Flask-SocketIO 不匹配的问题
问题描述
烧瓶和套接字的新手,并从教程中学习。我在让我的客户端和服务器通过套接字相互通信时遇到问题。接收常量 400 错误。我遇到了版本不匹配的常见问题,并且阅读了各种帖子。但是,在我看来,我有正确的依赖关系和版本。收到错误:
"The client is using an unsupported version of the Socket.IO or Engine.IO protocols"
许多来自库作者的响应的谷歌搜索和阅读问题表明这是一个常见的依赖问题。但是,对于我在虚拟环境中运行的内容,我的所有版本似乎都是正确的:
- Flask-SocketIO 5.0.1
- Python-EngineIO 4.0.0
- Python-SocketIO 5.0.4
- npm socket.io 3.10 我真的很想继续我的应用程序,但我真的很难弄清楚为什么我的客户端和服务器在看起来一切正常时不会通过套接字进行通信。任何帮助表示赞赏。运行 Debian Linux 仅供参考。
解决方案
确保您拥有所有内容的兼容版本。我不确定您使用的是什么 javascript 版本,但不同模块的版本很重要。
来源:https ://python-socketio.readthedocs.io/en/latest/intro.html
我正在使用的组合如下:
- socket.io.js 2.2.0
- python-engineio 3.13.2
- python-socketio 4.6.0
您可以在我的 github 页面上尝试一个示例聊天应用程序。
推荐阅读
- r - 如何解释 R 中的混淆矩阵
- go - 安装 gccgo 和 Go 一起测试 Protocol Buffers 3
- raku - 按索引从字符串中删除一些字符(Raku)
- android - 回收站视图未在 android studio 中显示一张卡片视图
- php - PHP手册中的“进程ID不是唯一的”是什么意思?如何获得实际唯一的“进程 ID”?
- typescript - ES6 类方法作为 Express 路由器参数
- laravel - 为什么 php decimal-ext 会为 compareTo 方法的错误返回类型抛出异常?
- python - Azure 函数和辅助函数
- visual-studio-code - VS Code 命令 + d 复制和粘贴而不是突出显示/批量编辑
- c# - 如何在 WPF 中使用 Listbox 项目?