Socket.IO
Meer info
- Type
- Bibliotheek voor realtime communicatie
- Uitgebracht
- 2010
- Maker
- Guillermo Rauch
- Licentie
- MIT
Realtime gebeurtenissen tussen browser en Node — geen WebSocket, maar een eigen protocol dat WebSocket gebruikt waar het kan.
Guillermo Rauch bracht het in 2010 uit, toen WebSocket-ondersteuning in browsers nieuw en wisselvallig was en door bedrijfsproxy's geregeld werd gedwarsboomd. Het antwoord was een abstractielaag: de bibliotheek onderhandelt over het beste beschikbare transport en valt terug op HTTP long polling als het moet, met automatisch herverbinden en het bufferen van berichten tijdens de onderbreking.
Daarbovenop zitten gemakken die kale WebSocket mist — benoemde gebeurtenissen, rooms, namespaces en bevestigingscallbacks. De prijs is dat het een eigen protocol is: een Socket.IO-server kan niet praten met een gewone WebSocket-client en hoofdversies hebben de compatibiliteit op het draad meer dan eens gebroken. Browserondersteuning is al ruim tien jaar universeel, dus de keuze draait om de functies, niet om de terugvaloptie.