Es gibt weitere gute Neuigkeiten von unserem alten Freund WebRTC.
Genauer gesagt: drei gute Neuigkeiten und einige kleinere API-Änderungen.
RTCDataChannel für Chrome
RTCDataChannel wurde in Chrome implementiert und es gibt eine tolle kleine Demo unter simpl.info/dc.
Diese Demo zeigt die Peer-to-Peer-Kommunikation beliebiger Daten – mit weniger als hundert Codezeilen. Dazu benötigen Sie Chrome 25 oder höher, also Beta oder Canary.
RTCDataChannel nutzt die Funktionen von RTCPeerConnection optimal aus – nicht zuletzt die Verwendung des ICE-Frameworks, um Firewalls und NATs zu umgehen – und bietet viele potenzielle Anwendungen, bei denen eine geringe Latenz von entscheidender Bedeutung ist: für Gaming, Remote-Desktop-Anwendungen, Echtzeit-Textchat und Dateiübertragung.
Weitere Informationen zu RTCDataChannel finden Sie im Hilfeartikel Einstieg in WebRTC.
API-Änderungen
Weniger spannend, aber dennoch wichtig: Ab Chrome 26 wurden einige RTCPeerConnection- und MediaStream API-Properties zu Getter-Methoden:
- MediaStream hat jetzt die Methode
getAudioTracks()
anstelle der Eigenschaft „audioTracks“ undgetVideoTracks()
anstelle vonvideoTracks
. - RTCPeerConnection hat jetzt
getLocalStreams()
anstelle vonlocalStreams
undgetRemoteStreams()
anstelle vonremoteStreams
.
Eine Demo von MediaStream findest du unter simpl.info/gum getUserMedia
. Die Variable stream
hat globalen Gültigkeitsbereich: Prüfen Sie sie in der Konsole. Ähnlich verhält es sich mit RTCPeerConnection unter simpl.info/pc: Die RTCPeerConnection-Objekte pc1
und pc2
haben globalen Gültigkeitsbereich.
Chrome <=> Firefox
Und falls Sie es verpasst haben: Chrome kann jetzt mit Firefox kommunizieren.
Du kannst das jetzt unter webrtc.org/start ausprobieren. Dort findest du eine vollständige Anleitung, Links zum Quellcode und Informationen zu API-Unterschieden.
Ein großes Dankeschön an die Teams von Mozilla und Google, die das alles möglich gemacht haben.
Viel Spaß beim Programmieren! Bitte teilen Sie uns auch Fehler mit, entweder indem Sie diesen Beitrag kommentieren oder unter bugs.chromium.org. Aktuelle Informationen zur Implementierung finden Sie unter chromestatus.com.