Pēc WebSocket atkārtotas savienojuma izveides caur starpniekserveri atjaunojiet arī sesiju
Apzināti atjaunojiet lietojumprogrammas abonementus un nenoteikto ziņojumu stāvokli pēc jauna WebSocket savienojuma izveides caur starpniekserveri.
Atkārtotā savienojuma atzvanīšana darbojas un jaunais ligzdsavienojums atveras. Tas ir transporta atjaunojums. Tas nenozīmē, ka jūsu abonementi, ziņojumu apstiprinājumi vai lietojumprogrammas sesija turpinājās tur, kur apstājās iepriekšējais savienojums.
Pat tas pats starpniekservera galapunkts var radīt jaunu izejošo savienojumu. Mainīta izejošā IP var arī aktivizēt mērķa paša sesijas politiku. Uztveriet jauno ligzdsavienojumu kā jaunu savienojumu un sekojiet lietojumprogrammas dokumentētajai atjaunošanas apmaiņai. Izlemiet, vai darbplūsmai jāsaglabā sava starpniekservera maršruts, atkārtoti pieslēdzoties.
Paturiet nedaudz vairāk par pēdējo URL
Noderīgs atjaunošanas stāvoklis var ietvert autorizētu sesijas identitāti, vēlamos abonementus, pēdējā apstiprinātā notikuma identifikatoru un darbības, kas vēl gaida apstiprinājumu. Šie lauki pieder lietojumprogrammas protokolam; WebSocket nenosaka universālu turpināšanas marķieri.
Izlemiet, vai atsākt no kursora, iegūt jaunu momentuzņēmumu vai pieņemt plaisu. Ja notikumu avots nepiedāvā atskaņošanas saskarni, ātrāka atkārtota pievienošanās nevar pierādīt, ka neviena ziņa nav pazaudēta.
Sūtīšana divreiz var nozīmēt darīšanu divreiz
Ziņojums, kas pirms atvienošanas tika ievietots vietējā rindā, varēja nekad nebūt atstājis klientu. Cits varēja sasniegt serveri, kamēr tā apstiprinājums tika pazaudēts. Akli atkārtoti sūtot katru neapstiprināto komandu, šie divi gadījumi tiek uzskatīti par vienādiem.
Izmantojiet pakalpojuma pieprasījumu identifikatorus, idempotences atbalstu vai saskaņošanas mehānismu, kur tie ir pieejami. Transporta atkārtota savienošana nevar padarīt lietojumprogrammas darbību atgriezenisku vai automātiski novērst tās dublēšanos.
Turiet atkārtotas pievienošanās mēģinājumus ierobežotus un tempu atbilstošu lietojumprogrammas politikai. RFC 6455 iesaka atkāpties pēc neparastas aizvēršanas; klientu pulks, kas mēģina uzreiz, var palielināt pārtraukuma slodzi.
Pierakstiet, kuru starpniekservera maršrutu izvēlējās katrs mēģinājums, bet turiet maršruta atjaunošanu atsevišķi no lietojumprogrammas atjaunošanas. “Atkal savienots” ir noderīgs pierādījums. “Panākts un gatavs iesniegt vairāk darba” prasa papildu lietojumprogrammas apmaiņu, kas to nosaka.