Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for Socket.IO v2.x #132

Open
armoha opened this issue Nov 22, 2021 · 3 comments
Open

Add support for Socket.IO v2.x #132

armoha opened this issue Nov 22, 2021 · 3 comments
Labels
feature New feature or request

Comments

@armoha
Copy link

armoha commented Nov 22, 2021

... and therefore revision 4 of Socket.IO protocol and revision 3 of Engine.IO protocol, behind feature gate I suppose.
The v3 server can communicate with v2 clients, but v3 client can't connect to a v2 server.

I'm still learning Rust and Socket.IO but I'd like to contribute if this seems good first issue,

@1c3t3a
Copy link
Owner

1c3t3a commented Nov 22, 2021

Yeah makes sense! I appreciate every contribution :) You can basically fully lean on the current implementation and try to retrofit the changes made to the protocol. A feature flag definitely makes sense, especially regarding the switch in ping and pong packets. As there are currently ongoing changes to the crate, it might make sense to sync with @nshaaban-cPacket on when and how it would make sense to implement this. When you run into questions don't hesitate to ask, I am happy to help!

@1c3t3a 1c3t3a added the feature New feature or request label Nov 22, 2021
@ctrlaltf24
Copy link
Collaborator

ctrlaltf24 commented Nov 22, 2021

main is available to any and all contributions! No synchronization needed, happy to answer questions/point you in the right direction though. As for how to implement this, feature flag make sense (will require some changes to CI), as well as try to keep all the protocol specific logic in one (or a couple) places so we're not stepping on each other's toes and accidentally break each other's code.

I'm still learning Rust

No issues at all, we're all still learning! Always learning! FYI, I've setup a VSCode devcontainer for Socket.IO, if you use VSCode + Docker, it can setup all the project dependencies and CI with a couple clicks.

@RyanWongGithub
Copy link

I'm glad the author can help, I would like to know how to modify this existing code to support engin protocol 3? @1c3t3a

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants