Connection State Recovery: Client->Server resync
Maintainer antworten meist innerhalb von 2 Tagen
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 25/100
- Issue-Typ
- Feature
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- javascript, nodejs, typescript
- Bereich
- api, backend, distributed-systems
Rechercherichtung
Das Issue nennt keine Dateien, Tests oder Einstiegspunkte. Beginne damit, die vorhandenen Abläufe zur Wiederherstellung des Verbindungsstatus und zum erneuten Verbinden auf Client- und Serverseite nachzuverfolgen, und untersuche anschließend das wire format; als abgeschlossen gilt die Arbeit, wenn fehlende Client-zu-Server-Ereignisse nach einer erneuten Verbindung erneut versucht werden können und bestätigte Offsets dem Client ermöglichen, gepufferte Ereignisse zu löschen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Is your feature request related to a problem? Please describe.
Connection state recovery only recovers packets that are buffered on the server. On reconnect, these are then sent to the client. But client->server packets are not handled this way.
Describe the solution you'd like
I'd like to have connection state recovery support packet retry from client to server as well. All client->server events would include an offset. On reconnect the server would send the latest client->server offset to the client and the client would repeat any missing events.
It would be nice to send the client->server offset back to the client periodically, or perhaps on every server->client event. This way the client could quickly purge events from its buffer.
This would probably involve a change to the wire format.
Describe alternatives you've considered
Practically, we end up writing a lot of extra handlers on reconnect to resync client state back to the server.
- Vorherrschende Sprache
- TypeScript
- Sterne
- 63.2k
- Forks
- 10.2k
- Ø Merge
- 6 T. 4 Std.
- Gemergte PRs (30 T.)
- 6
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus socketio/socket.io
-
[engine.io-client] The Node.js cookie jar lets Expires override Max-AgeEvtl. vergeben @Ayush701-code-zm hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
socketio/socket.io#5590 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 2 Tagen
-
Raise Engine.IO minimum to 6.6.10 for published security fixesEvtl. vergeben @harshit-exe-dev hat das vor 29 Tagen übernommen. Offen
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 2 Tagen
-
Can't set response headers in Server.handleUpgradeEvtl. vergeben @MsfPablo hat das vor 90 Tagen übernommen. Offenquestion
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
socketio/socket.io#5497 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 2 Tagen
-
WebTransport ignores query parameters in URLEvtl. vergeben @cyphercodes hat das vor 178 Tagen übernommen. Offenneeds major release question
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
socketio/socket.io#5496 · 3 Kommentare ·
Maintainer antworten meist innerhalb von 2 Tagen
-
[engine.io-client] close() called in an upgrade listener does not close the socketEvtl. vergeben @adityajai119 hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 20/100
Maintainer antworten meist innerhalb von 2 Tagen
Alle Issues in socketio/socket.io
Ähnliche Issues
-
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 86/100
g1331/phantom-circuit#93 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag
-
compiler
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
HerringtonDarkholme/hd-lang#1699 ·
Maintainer antworten meist innerhalb von 1 Tag
-
account bug communication lecture
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag