Kolejne dobre wieści z naszego starego znajomego, WebRTC.
Aby być precyzyjnym: mamy dla Ciebie 3 dobre wiadomości i kilka drobnych zmian w interfejsie API.
RTCDataChannel w Chrome
Interfejs RTCDataChannel został zaimplementowany w Chrome, a na stronie simpl.info/dc znajdziesz świetną wersję demonstracyjną.
Ten pokaz demonstruje komunikację peer-to-peer dowolnych danych – w mniej niż 100 wierszach kodu. Do tego potrzebna jest przeglądarka Chrome w wersji 25 lub nowszej, co w tym momencie oznacza wersję beta lub canary.
RTCDataChannel wykorzystuje w pełni funkcje wbudowane w RTCPeerConnection, w tym m.in. framework ICE do omijania zapór sieciowych i NAT-ów. Ma też wiele potencjalnych zastosowań, w których kluczowe znaczenie ma mała wartość opóźnienia: w grach, aplikacjach pulpitu zdalnego, czacie tekstowym w czasie rzeczywistym i przesyłaniu plików.
Więcej informacji o RTCDataChannel znajdziesz w artykule Pierwsze kroki z WebRTC.
Zmiany w interfejsie API
Mniej ekscytujące, ale wciąż ważne: od wersji 26 przeglądarki Chrome niektóre właściwości interfejsu RTCPeerConnection i MediaStream API stały się metodami getter:
- MediaStream ma teraz metodę
getAudioTracks()
zamiast właściwości audioTracks i wartośćgetVideoTracks()
zamiastvideoTracks
. - RTCPeerConnection ma teraz wartość
getLocalStreams()
zamiastlocalStreams
igetRemoteStreams()
zamiastremoteStreams
.
Aby zobaczyć, jak działa MediaStream, zapoznaj się z demo simpl.info/gum getUserMedia
. Zmienna stream
ma zakres globalny: sprawdź ją w konsoli. Podobnie w przypadku RTCPeerConnection na stronie simpl.info/pc: obiekty RTCPeerConnection pc1
i pc2
mają zakres globalny.
Chrome <=> Firefox
A w przypadku jeśli nie to zauważyłeś/zauważyłaś, Chrome może teraz „rozmawiać” z Firefoxem.
Możesz to teraz wypróbować na stronie webrtc.org/start, na której znajdziesz pełne instrukcje, linki do kodu źródłowego i informacje o różnicach między interfejsami API.
Dziękujemy zespołom z Mozilla i Google za to, że to wszystko się udało.
Życzymy owocnego kodowania! Jeśli znajdziesz błąd, poinformuj nas o nim, komentując ten post lub na stronie bugs.chromium.org. Pamiętaj, że zawsze możesz uzyskać aktualne informacje o wdrożeniu na stronie chromestatus.com.