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

quality of service features #3649

Closed
1 of 2 tasks
fkromer opened this issue Sep 24, 2020 · 3 comments
Closed
1 of 2 tasks

quality of service features #3649

fkromer opened this issue Sep 24, 2020 · 3 comments
Labels
enhancement New feature or request
Milestone

Comments

@fkromer
Copy link

fkromer commented Sep 24, 2020

You want to:

  • report a bug
  • request a feature

Current behaviour

It seems like socket.io does not support quality of service features yet like e.g. MQTT does like e.g. explained here. I'm not sure if it's possible to build some or all QoS features into socket.io. Or if it's possible at all because I don't know the socket.io architecture. However would be nice to have QoS features or at least some section in the docs about socket.io message transmission reliability.

Steps to reproduce (if the current behaviour is a bug)

NA

Expected behaviour

NA

Setup

NA

Other information (e.g. stacktraces, related issues, suggestions how to fix)

NA

@darrachequesne
Copy link
Member

darrachequesne commented Oct 5, 2020

That would be interesting indeed. Currently the message transmission is a best effort process (which should translate to At most once in MQTT terminology). If the client looses connection to the server, the packets are buffered until it reconnects, but there's no acknowledgement or such.

I'm not sure how it could be implemented. Maybe some kind of extension above? Or directly in the protocol?

You may find additional information here: https://github.com/socketio/socket.io-protocol

@darrachequesne darrachequesne added the enhancement New feature or request label Oct 5, 2020
@fkromer
Copy link
Author

fkromer commented Oct 5, 2020

@darrachequesne Thanks for letting me know. I just needed the info. No rush. I don't need the feature ATM.

@darrachequesne
Copy link
Member

For future readers:

At least once semantics was implemented in version 4.6.0:

Exactly once semantics can be achieved by attaching an unique ID to each packet on the client side, and storing them in the same transaction when handling the packet on the server side.

Please reopen if needed!

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

No branches or pull requests

2 participants