Zum Inhalt springen

Socket.IO

aus Wikipedia, der freien Enzyklopädie
Socket.IO

[[Datei:Lua-Fehler in Modul:Wikidata, Zeile 1703: attempt to index field 'wikibase' (a nil value)|150px]]
Basisdaten

Maintainer Lua-Fehler in Modul:Wikidata, Zeile 1703: attempt to index field 'wikibase' (a nil value)
Entwickler Automattic
Erscheinungsjahr Lua-Fehler in Modul:Wikidata, Zeile 1703: attempt to index field 'wikibase' (a nil value)
Aktuelle Version Lua-Fehler in Modul:Wikidata, Zeile 1703: attempt to index field 'wikibase' (a nil value)
(Lua-Fehler in Modul:Wikidata, Zeile 1703: attempt to index field 'wikibase' (a nil value))
Aktuelle Vorabversion Lua-Fehler in Modul:Wikidata, Zeile 1703: attempt to index field 'wikibase' (a nil value)
(Lua-Fehler in Modul:Wikidata, Zeile 1703: attempt to index field 'wikibase' (a nil value))
Betriebssystem Cross-platform
Programmier­sprache JavaScript
Kategorie ereignisgetriebene Websoftware
Lizenz Lua-Fehler in Modul:Wikidata, Zeile 1703: attempt to index field 'wikibase' (a nil value)
Socket.IO

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 verwendet primär das WebSocket-Protokoll mit zyklischem Abfragen als Ersatzoption,<ref>Socket.IO auf GitHub</ref> 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.<ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig socket.io.] In: npmjs.org. , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref><ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig faq – npm Documentation.] In: npmjs.com. , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 16. Februar 2015 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref>

Überblick[Bearbeiten]

Socket.IO ermöglicht Echtzeit-Analyse, binäre Datenströme, Sofortnachrichten und Zusammenarbeit an Dokumenten. Nennenswerte Nutzer sind unter anderen Microsoft Office, Yammer und Zendesk.<ref>Vorlage:Cite book/NameVorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Socket.IO JavaScript framework ready for real-time apps.] In: InfoWorld. , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref>

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.<ref>Vorlage:Cite book/NameVorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Socket.IO 2.0.0 release post.] , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref>

Weblinks[Bearbeiten]

Einzelnachweise[Bearbeiten]

<references />