Comments (7)
We ideally would provide the right interfaces to make this pluggable. I like this though, thanks for bringing it up @EugenDueck
from engine.io.
Fyi, regarding my comment about "MBWS doesn't support volatile packages" - MBWS's solution to that problem is MBLWS, the lightweight variant of the protocol without the sequence number and resync feature. According to Mark Hapner:
If you have a mix of messages, some requiring once-and-only-once delivery QoS (MBWS) and some requiring best-effort QoS (MBLWS) then you would use a separate socket for each.
The HyBi working group is currently in the process of extending WS to support multiplexing of logical WS sockets over a TCP socket. Once this is available, you can have a single socket that carries both.
from engine.io.
This would be cool to have a as a default with a configurable timeout. For you still want disconnections to be fired and buffers be discarded (or given to the developer?) past a certain threshold.
For example, if a reconnection is established within 15 seconds, to the user/developer we're like "a disconnection never happened".
Although this might be a better fit at the socket.io level, since it would bloat engine.io considerably.
from engine.io.
Agree, the buffers should be prevented from growing indefinitely.
A timeout and/or one of the solutions proposed here would do: #45 (comment)
from engine.io.
@EugenDueck I want something like this for socket 1.0/1.0+. Engine.IO will remain WS-like as far as the message reception guarantees.
from engine.io.
This is not a high priority feature for me right now, will try to figure out in the future how/if this could be done in the socket.io layer.
from engine.io.
@EugenDueck per your other message, basically by controlling what gets written at all times with the callback, instead of relying on engine.io's internal buffer
from engine.io.
Related Issues (20)
- [TS] socket.send / socket.write arguments HOT 1
- Wrong Tag version HOT 2
- Socket instance doesn't wait for all the packets in writeBuffer to be sent before closing the websocket transport. HOT 2
- Downgrade engine_socket transport error "polling request overlap" to 4xx from 5xx HOT 3
- feature: `BaseServer.corsMiddleware` should be publicliy modifiable HOT 3
- data coming from socket io is stopped after 10 minutes when we request call socket io at every 10-10 milisecond backend : node js frontend : angular js HOT 1
- Typescript: engine = undefined HOT 2
- TypeError: Cannot destructure property 'Server' of '_engineIo.default' HOT 5
- Customize response headers with Express middleware HOT 6
- Possible error in websocket code HOT 2
- clientsCount property of server... why need to keep this private, HOT 1
- ReferenceError: TextDecoder is not defined HOT 5
- Node.js versions below 10.2 are not compatible with the latest version 6.5.1. HOT 1
- WebTransport If the length of the data block exceeds maxDatagramSize, the server will be unable to receive the complete message (the client will not send the complete message). HOT 2
- Upgrading from polling to webtransport will report engine invalid WebTransport handshake. HOT 8
- The cache busting t query parameter does not work if multiple connections to the server are made HOT 3
- Add support for Node.js built-in WebSocket? HOT 7
- Send callback may not be called if message is sent during upgrade window HOT 2
- Cannot set `socket.request` to `null` because the property is read-only HOT 2
- `websocket`: `send` callbacks are not all called if multiple messages are sent rapidly HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from engine.io.