Prohlížeč ukončí websocket a vrátí kód 1006

gleng

Prohlížeč ukončí websocket a vrátí kód 1006
« kdy: 01. 01. 2022, 12:59:54 »
Implementujem websocket a mam problem ze klient(prehliadac) ho po 30 sekundach ukonci. Jedna sa o SPA kedy mi backend bezi na localhost:80 a front-end hot-reload vyvojovy server na localhost:8080. Ked prehliadac ukonci spojenie, tak mi vypise kod 1006. Na internete je otazka ohladom klucovych slov websocket, 30 seconds, code 1006, casta a opakuje sa dlhe roky, no nikde ziadne riesenie.

Ked som front-end skompiloval a bezi mi na rovnakej domene ako backend tak s WS problem nie je. Takze hadam ze moze ist o nieco zabudovane do prehlaidaca kedy limituje cross-domain spojenie na 30 sekund?

Eventuelne moze ist o front-end framework(vue3) kde sa mi vsak nezda ze by, pocas vyvoja, kazdych 30 sekund spustil nieco co spojenie ukonci. Preto sa priklanam k prvej variante a teda by ma zuajimalo ci o tomto niekto nemate nejake informacie?

PS: ked prehliadac raz spojenie odpoji, uz sa neda znovu pripojit.
« Poslední změna: 01. 01. 2022, 15:10:39 od Petr Krčmář »


Re:Prohlížeč ukončí websocket a vrátí kód 1006
« Odpověď #1 kdy: 01. 01. 2022, 16:41:33 »
Není tam nějaký timeout na neaktivní spojení (třeba i někde na lodbalanceru,  na proxy apod.)?

Pokud používáte websocket na low level úrovni, musíte spojení po ukončení ručně obnovovat (divné je, že Vám to nejde).

Možná bych se porozhlédl po nějaké knihovně, která to bude dělat za vás ( obvykle je to abstrakce i nad jinými metodami spojení - long polling apod., takže detaily nemusíte řešit - mohly byste přepínat mezi více variantami a otestovat co nejlépe chodí ve vašem případě).

gleng

Re:Prohlížeč ukončí websocket a vrátí kód 1006
« Odpověď #2 kdy: 01. 01. 2022, 22:33:06 »
proxy ani lb na localhoste asi nebude...

ale inak sa problem vyriesil sam. trvalo to len 3.5 hod. mozno sa jedneho dna dozviem cim to bolo. ako som pisal, na internete som nasiel plno rovnakych problemov, bez riesenii. takze proste len nejaka haluz.