kontakt
Software house
>
Tag
>
WebSocket klient-serwer. WebSocket wymiana danych w czasie rzeczywistym.
websocket

WebSocket klient-serwer. WebSocket wymiana danych w czasie rzeczywistym.

Data wpisu
Tomasz Kozon
Autor
Tomasz Kozon

WebSocket to protokół komunikacyjny, dzięki któremu możemy się połączyć między klientem, a serwerem. W WebSocket odróżnieniu od protokołu HTTP, wymiana danych występuje w sposób ciągły w trakcie trwania połączenia oraz zarówno klient, jak i serwer może dane wysyłać lub odbierać. WebSocket przydatna jest, gdy dane potrzebne są w czasie rzeczywistym oraz nie możemy pozwolić sobie na ciągłe odpytywanie serwera. Protokół WebSocket wybiera się najczęściej w rozwiązaniach typu Chat, Notyfikacje, czy też Streaming danych.

WebSocket a HTTP różnice

Zasada działania HTTP polega na ciągłym odpytywaniu danego źródła, a następnie otrzymywaniu odpowiedzi. Każde zapytanie polega na otwarciu połączenia do serwera, zapytaniu i odpowiedzi. W przypadku zapytania WebSocket mamy do czynienia z zapytaniem po protokole HTTP typu handshake, a następnie otwarciu trwałego połączenia po protokole TCP/IP i pełnej dwukierunkowej komunikacji zwanym full-duplex.

Zalety WebSocket

  • WebSocket jest protokołem, który doskonale nadaje się do komunikacji typu realtime. W przeciwieństwie do HTTP nie wymaga ciągłego odpytywania po zmiany, a nasłuchuje na nie od strony serwera.
  • Zmniejsza czasy odpowiedzi utrzymując trwałe połączenie TCP, całość zapytania jest lżejsza od HTTP więc ilość KB w przypadku wielu zapytań jest mniejsza

Wady WebSocket

  • Zerwane połączenie powinno być odświeżone. Dlatego w przypadku słabego połączenia internetowego trzeba to brać pod uwagę
  • Starsze przeglądarki mogą nie wspierać protokołu WebSocket
  • Trudniejsza konfiguracja połączeń typu WSS

Dlaczego warto wybrać protokół WebSocket

Protokół WebSocket posiada dobre wsparcie od strony klientów napisanych w różnych językach programowania. Programować WebSocket można wykorzystując zarówno gotowe Frameworki i dodatki do nich tak jak chociażby Django i Django Channels lub bardziej natywnie wykorzystując Node JS i klienta WS. Dodatkowo nowsze przeglądarki posiadają wbudowany moduł WebSocket, w którym otwarcie połączenia z serwerem ogranicza się do napisaniu paru linijek kodu w JavaScript.

Praca: #websocket
0 brak aktywnych ofert pracy
Wszystkie oferty
Case study: #websocket
0 Aktualnie brak case study
Zobacz wszystkie