Version not Compatible for flutter socket_io_client: ^2.0.3+1 with python-socketio==4.6.0 and python-engineio==3.13.2 #1312
Replies: 1 comment 2 replies
-
Have you asked the maintainers of the Flutter package? My goal is to offer compatibility with the reference implementations in JavaScript, I do not test other implementations. A log session would help me determine what's going on more clearly, by the way. A verbal description of what works and what doesn't is not as clear to me. Also, looking at their docs, their version 2.x clients are compatible with versions 3.x and 4.x of the JavaScript reference implementation, so you should use the latest 5.x python-socketio and the latest 4.x python-engineio for a comparable version of the Socket.IO protocol. Older versions are not expected to work, so do not waste time with those. |
Beta Was this translation helpful? Give feedback.
-
Issue Description:
I'm encountering compatibility issues between the Python SocketIO server and the Flutter SocketIO client. Currently, I'm using python-socketio==4.6.0 and python-engineio==3.13.2 on the server side along with flutter_socket_io: ^2.0.3+1 on the Flutter client side. While the server successfully receives events emitted by the Flutter client, the client fails to receive events emitted by the server.
Troubleshooting Steps:
To address this, I've attempted to resolve the compatibility by experimenting with different versions of Python SocketIO and Python EngineIO. Specifically, I've tested python-socketio==5.1.0 and python-engineio==4.0.0. However, with these versions, the server is unable to receive events emitted by the client, although the client should receive events emitted by the SocketIO server.
Server Configuration:
I've experimented with both ASGI and WSGI servers, including Daphne for ASGI server configuration.
Code References:
To provide further context, here are snippets of relevant code:
asgi.py file
consumer.py file
Conclusion:
It's evident that there's a discrepancy in compatibility between the Python SocketIO server and the Flutter SocketIO client. Despite trying different versions of the Python packages and server configurations, the issue persists. While the server successfully receives events from the Flutter client, the reverse communication is ineffective.
Based on the testing results, it's found that:
For the Python SocketIO server to successfully receive events from the Flutter client, the minimum requirement is python-engineio==3.13.2.
Conversely, for the Flutter client to effectively receive events from the Python SocketIO server, it necessitates python-socketio==5.1.0, which in turn requires python-engineio==4.0.0.
Action Required:
I seek guidance on how to resolve this compatibility issue between the Python SocketIO server and the Flutter SocketIO client. Any insights or recommendations on configurations, version compatibility, or potential workarounds would be greatly appreciated.
Additional Version Testing:
In addition to the previously mentioned versions (python-socketio==4.6.0 and python-engineio==3.13.2, and python-socketio==5.1.0 and python-engineio==4.0.0), I have also experimented with alternative versions:
Version Combination:
python-socketio==5.1.0
python-engineio==4.0.0
Test Outcome:
With this version combination, the server was unable to receive events emitted by the client, while the client could receive events emitted by the SocketIO server.
Beta Was this translation helpful? Give feedback.
All reactions