WebSocket: trwałe, dwukierunkowe połączenia w sieci WWW
WebSocket tworzy długotrwałe, dwukierunkowe połączenie po wstępnym uzgodnieniu opartym na HTTP. Sprawdza się w czatach, powiadomieniach i przesyłaniu danych w czasie rzeczywistym, ale sesję i tak mogą przerwać serwery proxy, load balancery lub limity czasu w sieci.
Jak działa trwałe połączenie WebSocket
Po wstępnym uzgodnieniu opartym na HTTP WebSocket zestawia trwały, dwukierunkowy kanał dla aplikacji. Bezpieczny schemat wss chroni połączenie za pomocą TLS, ale pośrednicy i limity czasu bezczynności nadal mogą zrywać długotrwałe sesje.
Jak zdiagnozować rozłączenie
Sprawdź początkową odpowiedź HTTP i upewnij się, że przełączenie protokołu (upgrade) się udało, a potem obserwuj, czy połączenie zamyka się po powtarzalnym okresie bezczynności. Proxy odwrotne, load balancery i zapory sieciowe często mają limity czasu, które dotykają długotrwałych sesji WebSocket. Jeśli najpierw chcesz wykluczyć problem z podstawową osiągalnością TCP, sprawdź port w narzędziu 2IP „Sprawdź otwarte porty”.
Gdzie szukać limitu czasu bezczynności
Protokół WebSocket opisuje RFC 6455.