Socket.IO ist eine JavaScript-Bibliothek für Echtzeit-Webanwendungen. Es ermöglicht bidirektionale Echtzeit-Kommunikation zwischen Webclients und Servern. Es besteht aus zwei Teilen: einer clientseitigen Bibliothek, die im Browser des Benutzers läuft, und einer serverseitigen Bibliothek für Node.js. Beide Komponenten haben eine nahezu identische API. Wie Node.js auch, ist es ereignisgetrieben.

Socket.IO
Basisdaten

Entwickler Automattic
Aktuelle Version 4.7.5[1]
(14. März 2024)
Betriebssystem Cross-platform
Programmier­sprache JavaScript
Kategorie ereignisgetriebene Websoftware
Lizenz MIT License
Socket.IO

Socket.IO verwendet primär das WebSocket-Protokoll mit zyklischem Abfragen als Ersatzoption,[2] wobei es dafür dieselbe Schnittstelle bietet. Obwohl es auch als einfacher Wrapper für WebSocket verwendet werden kann, bietet es weitaus mehr Funktionen, einschließlich des Broadcastings an mehrere Sockets, Speichern von Daten, die mit dem jeweiligen Client verknüpft sind, und asynchrone E/A.

Es kann mit Hilfe des Paketmanagers npm installiert werden.[3][4]

Überblick

Bearbeiten

Socket.IO bietet Echtzeit-Analyse, binäre Datenströme, Sofortnachrichten und Zusammenarbeit an Dokumenten. Nennenswerte Nutzer sind unter anderen Microsoft Office, Yammer und Zendesk.[5]

Socket.IO behandelt die Verbindung transparent. Es schaltet automatisch zum WebSocket-Protokoll um, falls dies möglich ist. Dadurch benötigt der Programmierer nur Kenntnisse von Socket.IO.

Socket.IO ist keine WebSocket-Bibliothek mit Ersatzoptionen für andere Echtzeitprotokolle. Es ist eine angepasste Implementierung eines Echtzeittransportprotokolls, aufbauend auf anderen Echtzeitprotokollen. Seine Protokollaushandlungsteile sorgen dafür, dass ein Client, der Standard-WebSocket unterstützt, nicht in der Lage ist, sich mit einem Socket.IO-Server zu verbinden. Und ein Socket.IO-implementierender Client kann nicht mit einem nicht-Socket.IO-basierten WebSocket oder Long Polling Comet-Server kommunizieren. Deshalb erfordert Socket.IO die Verwendung der Socket.IO-Bibliotheken sowohl auf dem Client als auch auf dem Server.

Ab Version 2.0 nutzt Socket.IO als zu Grunde liegende WebSocket-Bibliothek µWebSockets.[6]

Bearbeiten

Einzelnachweise

Bearbeiten
  1. Release 4.7.5. 14. März 2024 (abgerufen am 25. März 2024).
  2. Socket.IO auf GitHub
  3. socket.io. In: npmjs.org. (englisch).
  4. faq – npm Documentation. In: npmjs.com. Archiviert vom Original am 25. November 2015; abgerufen am 16. Februar 2015 (englisch).
  5. Paul Krill: Socket.IO JavaScript framework ready for real-time apps. In: InfoWorld. 2. Juni 2014; (englisch).
  6. Damien Arrachequesne: Socket.IO 2.0.0 release post. 13. Mai 2017; (englisch).