Tilbakekallet for gjenoppkobling kjører, og den nye sockelen åpnes. Det er transportgjenoppretting. Det betyr ikke nødvendigvis at abonnementene, meldingsbekreftelsene eller applikasjonsøkten din fortsatte der den forrige tilkoblingen stoppet.

Selv samme proxy-endepunkt kan produsere en ny utgående tilkobling. En endret utgående IP kan også utløse destinasjonens egen øktpolicy. Behandle den nye sockelen som en ny tilkobling og følg applikasjonens dokumenterte gjenopprettingsutveksling. Bestem om arbeidsflyten skal beholde proxy-ruten sin ved gjenoppkobling.

Behold litt mer enn den siste URL-en

Nyttig gjenopprettingstilstand kan omfatte en autorisert øktidentitet, ønskede abonnementer, id-en til den siste bekreftede hendelsen og operasjoner som fortsatt venter på bekreftelse. Disse feltene tilhører applikasjonsprotokollen; WebSocket definerer ikke et universelt gjenopptakelsestoken.

Bestem om du vil gjenoppta fra en markør, hente et nytt øyeblikksbilde eller godta et gap. Hvis en hendelseskilde ikke tilbyr et grensesnitt for avspilling, kan raskere gjenoppkobling ikke bevise at ingen meldinger gikk tapt.

Å sende to ganger kan bety å gjøre to ganger

En melding som ble satt i lokal kø før en frakobling, kan aldri ha forlatt klienten. En annen kan ha nådd serveren mens bekreftelsen gikk tapt. Å blindt sende hver ubekreftet kommando på nytt behandler de to tilfellene som identiske.

Bruk tjenestens forespørsels-id-er, støtte for idempotens eller en avstemmingsmekanisme der det er tilgjengelig. En transportgjenoppkobling kan ikke gjøre en applikasjonshandling reversibel eller automatisk fjerne duplikater av den.

Hold gjenoppkoblingsforsøk begrenset og i takt med applikasjonens policy. RFC 6455 anbefaler å trekke seg tilbake etter unormal lukking; en flokk klienter som prøver igjen umiddelbart, kan øke belastningen under avbruddet.

Logg hvilken proxy-rute hvert forsøk valgte, men hold rute-gjenoppretting atskilt fra applikasjonsgjenoppretting. «Koblet til igjen» er nyttig bevis. «Tatt igjen og klar til å sende inn mer arbeid» krever den ekstra applikasjonsutvekslingen som fastslår det.

Relaterte artikler