Uudelleenyhdistämisen takaisinkutsu suoritetaan ja uusi socket avautuu. Se on siirtokerroksen palautumista. Se ei välttämättä tarkoita, että tilauksesi, viestikuittauksesi tai sovellusistuntosi jatkuivat siitä, mihin edellinen yhteys pysähtyi.

Jopa sama välityspalvelimen päätepiste voi tuottaa uuden lähtevän yhteyden. Muuttunut lähtevä IP voi myös laukaista kohteen oman istuntokäytännön. Kohtele uutta socketia uutena yhteytenä ja noudata sovelluksen dokumentoitua palautumisvaihtoa. Päätä, pitäisikö työnkulun säilyttää välityspalvelinreittinsä uudelleenyhdistämisen aikana.

Säilytä hieman muutakin kuin viimeinen URL

Hyödyllinen palautumistila voi sisältää valtuutetun istuntotunnisteen, halutut tilaukset, viimeksi vahvistetun tapahtuman tunnisteen ja toiminnot, jotka odottavat yhä kuittausta. Nämä kentät kuuluvat sovellusprotokollaan; WebSocket ei määrittele yleistä jatkamistunnistetta.

Päätä, jatkatko kohdistimesta, haetko uuden tilannekuvan vai hyväksytkö aukon. Jos tapahtumalähde ei tarjoa toistoliittymää, nopeampi uudelleenyhdistäminen ei voi todistaa, ettei viestejä mennyt hukkaan.

Kahdesti lähettäminen voi tarkoittaa kahdesti tekemistä

Ennen katkeamista paikallisesti jonoon laitettu viesti ei ehkä koskaan lähtenyt asiakkaasta. Toinen taas on saattanut saapua palvelimelle, kun sen kuittaus katosi. Jokaisen vahvistamattoman komennon sokea uudelleenlähetys kohtelee näitä kahta tapausta samanlaisina.

Käytä palvelun pyyntötunnisteita, idempotenssitukea tai yhdenmukaistusmekanismia, kun ne ovat saatavilla. Siirtokerroksen uudelleenyhdistäminen ei voi tehdä sovellustoiminnosta palautuvaa tai poistaa sen kaksoiskappaleita automaattisesti.

Pidä uudelleenyhdistämisyritykset rajattuina ja tahdita ne sovelluksen käytännön mukaan. RFC 6455 suosittaa perääntymistä epänormaalin sulkemisen jälkeen; asiakkaiden joukko, joka yrittää heti uudelleen, voi lisätä katkoksen kuormaa.

Kirjaa, minkä välityspalvelinreitin kukin yritys valitsi, mutta pidä reitin palautuminen erillään sovelluksen palautumisesta. ”Yhdistetty uudelleen” on hyödyllinen todiste. ”Kiritty kiinni ja valmis lähettämään lisää työtä” vaatii sen vahvistavan ylimääräisen sovellusvaihdon.

Aiheeseen liittyvät artikkelit