Socket.IO
Więcej informacji
- Typ
- Biblioteka komunikacji w czasie rzeczywistym
- Rok
- 2010
- Twórca
- Guillermo Rauch
- Licencja
- MIT
Zdarzenia w czasie rzeczywistym między przeglądarką a Node — to nie WebSocket, tylko własny protokół, który używa WebSocketu, gdy się da.
Guillermo Rauch wydał bibliotekę w 2010 roku, gdy obsługa WebSocketu w przeglądarkach była nowa, nierówna i regularnie psuta przez firmowe proxy. Odpowiedzią była warstwa abstrakcji: biblioteka negocjuje najlepszy dostępny transport, a w razie potrzeby wraca do HTTP long polling, z automatycznym ponawianiem połączenia i buforowaniem wiadomości na czas przerwy.
Na wierzchu dochodzą udogodnienia, których brakuje zwykłemu WebSocketowi — nazwane zdarzenia, pokoje, przestrzenie nazw i funkcje potwierdzające. Koszt jest taki, że to osobny protokół: serwer Socket.IO nie dogada się ze zwykłym klientem WebSocket, a kolejne wersje główne nieraz łamały zgodność na poziomie sieci. Obsługa WebSocketu w przeglądarkach jest powszechna od ponad dekady, więc wybór dotyczy dziś funkcji, a nie mechanizmu awaryjnego.