Zum Hauptinhalt Zur Navigation Zur Suche

BinaryJS: Binäre Echzeit-Datenströme im Browser

Die Bibliothek BinaryJS ermöglicht es, über Websockets binäre bidirektionale Datenströme zwischen Server und Browser auszutauschen. Das soll den Datenaustausch beispielsweise bei Browserspielen effizienter machen.
/ Jens Ihlenfeld
5 Kommentare undefined News folgen (öffnet im neuen Fenster)
Binärdaten in den Browser hinein und aus ihm heraus streamen (Bild: BinaryJS)
Binärdaten in den Browser hinein und aus ihm heraus streamen Bild: BinaryJS

BinaryJS nutzt Websockets, um einen bidirektionalen binären Datenstrom zwischen Server und Browser aufzubauen. Darüber können Binärdaten in beide Richtungen ausgetauscht werden, ohne dass sie zuvor in Strings umgewandelt werden müssen. Allerdings funktioniert das derzeit nur in Chrome ab Version 15, Firefox ab Version 11, im Internet Explorer 10 und in den aktuellen Nightly Builds von Safari.

Die Binärdaten werden ins Format Binarypack umgewandelt, was schneller gehen soll als die Umwandlung in Strings, aber es zugleich ermöglicht, die Binärdaten mit JSON zu mischen. Große Mengen binären Daten-Puffers werden automatisch aufgeteilt, um die Leistung beim Streaming zu verbessern. Es ist dabei auch möglich, mehrere Datenströme gleichzeitig abzuwickeln und den Datenstrom anzuhalten und fortzusetzen.

Letztendlich bietet BinaryJS die gleiche Flexibilität wie ein TCP-Socket zwischen Client und Server. Genutzt werden kann das Ganze unter anderem, um den Datenaustausch bei Multiplayerspielen direkt ohne Plugins im Browser effizienter abzuwickeln als über JSON, FLAC-Dateien in das Webaudio-API von HTML5 zu streamen, Bilder progressiv zu laden, Datei-Uploads als Stream abzuwickeln oder Live-Streaming über das HTML5-Video-Elemente abzuwickeln.

BinaryJS steht unter binaryjs.com(öffnet im neuen Fenster) und auf Github als Open Source bereit.


Relevante Themen