客户端使用的 Socket.IO 或 Engine.IO 协议版本不受支持错误
The client is using an unsupported version of the Socket.IO or Engine.IO protocols Error
我正在尝试在 python 中使用 flask_socketio、socketIO_client 和 SOCKET.IO raspberry pi 中的客户端和服务器4 但我收到以下错误:
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 列表 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/) 进行匹配?
我该如何解决这个问题?谢谢
SocketIO 似乎有一些 backward compatibility issues。您可以卸载 python-engineio
、python-socketio
(和 Flask-SocketIO
只是为了安全起见)并重新安装较低版本。
对我有用的组合是:
Flask-SocketIO==4.3.1
python-engineio==3.13.2
python-socketio==4.6.0
要修复版本不兼容,您可以运行下面的“升级”命令:
pip install --upgrade python-socketio==4.6.0
pip install --upgrade python-engineio==3.13.2
pip install --upgrade Flask-SocketIO==4.3.1
flask-socketio-5.1.2
python-engineio-4.3.2
python-socketio-5.6.0
script src="//cdnjs.cloudflare.com/ajax/libs/socket.io/4.5.0/socket.io.js">
这对我有用。此错误是由于与 python-engineio 相关的依赖性所致。
在此之后,检查您的套接字请求是否像这样显示 EIO4
"GET /socket.io/?EIO=4&transport=websocket&sid=mJ1g8wm0didssJSiAAAA HTTP/1.1" 200
我正在尝试在 python 中使用 flask_socketio、socketIO_client 和 SOCKET.IO raspberry pi 中的客户端和服务器4 但我收到以下错误:
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 列表 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/) 进行匹配?
我该如何解决这个问题?谢谢
SocketIO 似乎有一些 backward compatibility issues。您可以卸载 python-engineio
、python-socketio
(和 Flask-SocketIO
只是为了安全起见)并重新安装较低版本。
对我有用的组合是:
Flask-SocketIO==4.3.1
python-engineio==3.13.2
python-socketio==4.6.0
要修复版本不兼容,您可以运行下面的“升级”命令:
pip install --upgrade python-socketio==4.6.0 pip install --upgrade python-engineio==3.13.2 pip install --upgrade Flask-SocketIO==4.3.1
flask-socketio-5.1.2 python-engineio-4.3.2 python-socketio-5.6.0
script src="//cdnjs.cloudflare.com/ajax/libs/socket.io/4.5.0/socket.io.js">
这对我有用。此错误是由于与 python-engineio 相关的依赖性所致。 在此之后,检查您的套接字请求是否像这样显示 EIO4 "GET /socket.io/?EIO=4&transport=websocket&sid=mJ1g8wm0didssJSiAAAA HTTP/1.1" 200