Tere,
Vint.ee lahenduses on kliendi (brauseri) ja serveri vahel püsti websocketi ühendus.
Olen ka ise näinud juhtumit, kus ühendus serveriga kaob aga klient (brauser) sellest aru ei saa.
Ühe lahendusena saaksin panna kliendi serverit pingima kui serverist ei ole tulnud üle 15 sekundi ühtegi sõnumit, seejärel saaks teha brauserile refreshi.
Kui selgub, et selline pingimine tõstaks oluliselt serveri koormust siis ühe võimalusena oleks selline lahendus VIP kasutajatele teha.
Ja loomulikult toimuks selline pingimine ainult siis kui kasutaja mängib.
Ühenduse katkemine serveriga
被123名用户阅读
Tehtud,
Hetkel toimib kõigil, uurin kui suur koormus reaalselt serveile tekib.
Lahendus:
Kui 15 sekundi jooksul ei ole serverilt ühtegi sõnumit saadud, pingitakse serverit. Kui pingi vastust 5 sekundi jooksul ei tule, antakse kasutajale teada, et ühendus kadunud.
Seega saab kasutaja ühenduse katkemisest teada hiljemalt 20 sekundit hiljem. Piisav vist?
Hetkel toimib kõigil, uurin kui suur koormus reaalselt serveile tekib.
Lahendus:
Kui 15 sekundi jooksul ei ole serverilt ühtegi sõnumit saadud, pingitakse serverit. Kui pingi vastust 5 sekundi jooksul ei tule, antakse kasutajale teada, et ühendus kadunud.
Seega saab kasutaja ühenduse katkemisest teada hiljemalt 20 sekundit hiljem. Piisav vist?
Muutsin seadeid nii, et serverit pingitakse 12 sekundi pärst ning pingi vastust oodatakse 3 sekundit.