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.

Artikel veröffentlicht am , Matthias Thömmes
Socket.io: Bidirektionale Echtzeitkommunikation über Websockets
(Bild: Socket.io)

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.

  • Socket.io
  • Socket.io
  • Socket.io
  • Node.js
Socket.io

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.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Aktuell auf der Startseite von Golem.de
Rebel Moon - Teil 2
Sternenkrieg um einen Bauernhof

Rebel Moon: Teil 2 trägt den Untertitel Die Narbenmacherin, hat in unserer Erinnerung aber keinerlei Spuren hinterlassen.
Eine Rezension von Daniel Pook

Rebel Moon - Teil 2: Sternenkrieg um einen Bauernhof
Artikel
  1. Momentum Sport im Test: Das wichtigste Versprechen löst Sennheiser nicht ein
    Momentum Sport im Test
    Das wichtigste Versprechen löst Sennheiser nicht ein

    Was bringen Fitnessfunktionen in einem Hörstöpsel? Diese Frage klären wir in diesem Test und lenken unseren Blick darauf, ob Sennheiser die Momentum Sport für den sportlichen Einsatz optimiert hat.
    Ein Test von Ingo Pakalski und Peter Steinlechner

  2. Delta im Alt Store: Endlich lässt sich Zelda auf dem iPhone spielen - per Umweg
    Delta im Alt Store
    Endlich lässt sich Zelda auf dem iPhone spielen - per Umweg

    Emulatoren für Retrogames waren auf iOS lange nicht erwünscht. Nun lassen sich erstmals ROMs mit Apples Erlaubnis auf das iPhone laden.
    Ein Hands-on von Daniel Ziegener

  3. Fehlerhaftes Pedal: Tesla muss Cybertruck zurückrufen
    Fehlerhaftes Pedal
    Tesla muss Cybertruck zurückrufen

    Tesla hat beim Cybertruck einen erheblichen Rückschlag erlitten. Das Unternehmen hat eine Rückrufaktion für fast alle 3.878 Cybertrucks gestartet.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    • Daily Deals • Spring Sale bei Gamesplanet • Neuer MediaMarkt-Flyer • MindStar: AMD Ryzen 7 7800X3D 339€ • Bose Soundbar günstig wie nie • Samsung Galaxy S23 -37% • MSI OLED Curved 34" UWQHD 175Hz -500€ • Alternate: Deep Cool CH560 Digital Tower-Gehäuse 99,90€ • PS5-Spiele -75% [Werbung]
    •  /