我正在尝试在树莓派 4 中使用 flask_socketio、socketIO_client 和 SOCKET.IO 在 python 中运行客户端和服务器,但我收到以下错误:
The client is using an unsupported version of the Socket.IO or Engine.IO protocols (further occurrences of this error will be logged with level INFO)
192.168.1.80 - - [05/Feb/2021 18:30:41] "GET /socket.io/?EIO=3&transport=polling&t=NTpTT-L HTTP/1.1" 400 219 0.000618
这些是我当前的版本:
pi@raspberrypi:~/Desktop/EDAdataLogger $ npm list socket.io EDAdataLogger@ /home/pi/Desktop/EDAdataLogger └── socket.io@3.1.1
pi@raspberrypi:~/Desktop/EDAdataLogger $ npm list socket.io-client EDAdataLogger@ /home/pi/Desktop/EDAdataLogger └── socket.io-client@3.1.1
python-engineio==4.0.0
python-socketio==5.0.4
Flask==1.1.2
Flask-Session==0.3.2
Flask-SocketIO==5.0.1
如何定义 JavaScript Socket.IO 版本和 Socket.IO 协议修订版,以便一切都根据 ( https://pypi.org/project/python-socketio/ ) 进行匹配?
我怎样才能解决这个问题?谢谢
原文由 stracc 发布,翻译遵循 CC BY-SA 4.0 许可协议
SocketIO 似乎存在一些 向后兼容性问题。您可以卸载
python-engineio
,python-socketio
(和Flask-SocketIO
只是为了安全起见)并重新安装较低版本。对我有用的组合是: