Socket.io
Bidirektionale Echtzeitkommunikation über Websockets
Das Node.js-Modul Socket.io erlaubt die bidirektionale Echtzeitübertragung von Daten mittels Websockets. Die aktuelle Version 0.7.2 unterstützt nun Namespaces, virtuelle Räume, volatile Nachrichten und selbstdefinierte Ereignisse.

Mit Socket.io bieten die Learnboost Labs eine Programmbibliothek zur bidirektionalen Echtzeitübertragung von Daten mittels Websockets. Socket.io wird als Modul für den ereignisorientierten Server Node.js angeboten und steht seit kurzem in der Version 0.7.2 zum Download bereit.
Überarbeitetes Protokoll
Das in Socket.io genutzte Protokoll wurde um ein Revisionssystem erweitert, um die Kompatibilität zwischen den auf Server und Client genutzten Versionen zu wahren. Die Verbindung eines Clients kann nun durch ein neues Paket serverseitig beendet werden, außerdem gibt es serverseitige Callbacks für den Fall, dass ein Client eine Nachricht erhalten hat.
Dazu wurde das nun auch besser dokumentierte Protokoll um weitere Nachrichtentypen erweitert. Gleichzeitig wurde der Overhead im Vergleich zu Vorgängerversionen reduziert. Die kürzlich veröffentlichten Fehlerbereinigungen in 0.7.2 beheben Probleme bei Cross-Domain-Requests.
Kanalisierung von Nachrichten durch Namespaces und virtuelle Räume
Mit Namespaces und virtuellen Räumen bietet Socket.io nun ein eigenständiges Routing, mit dem sich die Javascript-Clients fortan zu mehreren Sockets verbinden können. Diese können mittels Namespaces oder durch virtuelle Räume angesprochen werden.
Die neue Version unterstützt auch sogenannte volatile Nachrichten. Bei diesem Nachrichtentyp werden Nachrichten in einem vorab festgelegten Aktualisierungsintervall übermittelt. Clients überspringen dann Nachrichten, die sie nicht schnell genug verarbeiten können, womit Verzögerungen bei umfangreichen Echtzeitstreams vermieden werden.
Automatische Anpassung an Fähigkeiten des Clients
Die Programmbibliothek ermöglicht es Entwicklern in Node.js, neben Websockets andere Transportmethoden zu nutzen, darunter Flash-Sockets, XHR und JSONP. Auf Wunsch wählt die Bibliothek die unterstützte Methode automatisch, wobei sie gängige Browser auch in älteren Versionen unterstützt.
Mit der Einführung von Ereignissen, Callbacks für Sockets sowie einer definierbaren Ereignisschleife kann der eigene Programmcode nun deutlich vereinfacht werden, so Learnboost. Die Zahl der Unit-Tests habe sich auf 160 verdreifacht, was die Verlässlichkeit des Moduls erhöhe.
Socket.io steht unter socket.io zum Download bereit.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed