Zum Hauptinhalt Zur Navigation

Echtzeitkommunikation: Socket.io 1.0 mit neuer Engine

Das auf Websockets und Node.js aufbauende Socket.io steht in Version 1.0 bereit. Die Software hat eine neue ausgelagerte Engine und erlaubt das Senden von Binärdaten.
/ Sebastian Grüner
1 Kommentare News folgen (öffnet im neuen Fenster)
Socket.io steht in Version 1.0 bereit. (Bild: Socket.io)
Socket.io steht in Version 1.0 bereit. Bild: Socket.io

Mit dem Node.js-Modul Socket.io lassen sich Anwendungen mit bidirektionaler Echtzeitübertragung erstellen. Das Projekt steht nun in Version 1.0(öffnet im neuen Fenster) zur Verfügung und baut auf einer neuen und komplett ausgelagerten Engine auf, welche die Transports übernimmt und eventuelle Browser-Inkompatibilitäten abfängt.

Engine.io zur Vereinfachung

Dieses Modul heißt konsequenterweise Engine.io(öffnet im neuen Fenster) und für Nutzer von Socket.io sollte sich damit nichts ändern. Für die Entwickler sei die Auslagerung der Engine aber eine " gewaltige Vereinfachung ", da der zu pflegende Quellcode von Server und Client nun zusammen nur noch etwa 2.200 Zeilen umfasse.

Sollen ausschließlich Websockets verwendet werden, kann man komplett auf die Engine verzichten. Darüber hinaus könnten Node.JS TCP Sockets oder Google Chrome Sockets vergleichsweise einfach hinzugefügt werden. Außerdem lässt sich mit der neuen Engine wesentlich einfacher überprüfen, welche Kommunikationsmöglichkeiten denn tatsächlich unterstützt werden, um diese dann auch zu verwenden.

Binärdaten versenden

Mit Websockets selbst lassen sich bereits Binärdaten versenden und die Engine unterstützt diese Funktion auch über ein Low-Level-API. Dem Socket.io-Team gefiel die Umsetzung aber nicht, weshalb nun auch die Datentypen Buffer, Blob, ArrayBuffer und sogar File als Teil jeder Datenstruktur verschickt werden.

Zum Testen der neuen Funktionen erstellte das Team eine Javascript-Version(öffnet im neuen Fenster) von Twitch Plays Pokemon. Aber auch das Übertragen von Binärdaten eines mit Qemu virtualisierten Windows XP ist nun möglich, sogar Counter-Strike lässt sich über diesen Aufbau spielen.

Mit Version 1.0 von Socket.io soll die Software besser skalieren, Code anderer Programmiersprachen lässt sich nun integrieren und Webapps lassen sich besser debuggen. Möglich ist nun auch die Verwendung von CDNs, dafür stellt das Team ein eigenes bereit, das Googles Zopfli verwendet.

Weitere Änderungen finden sich in der Ankündigung. Der Quellcode steht unter der MIT-Lizenz zum Download(öffnet im neuen Fenster) bereit.


Relevante Themen