WebRTC: demo di RTCDataChannel, modifiche all'API... e Chrome comunica con Firefox

Altre buone notizie dal nostro vecchio amico WebRTC.

Per essere precisi: tre buone notizie e un paio di modifiche minori all'API.

RTCDataChannel per Chrome

RTCDataChannel è stato implementato in Chrome ed è disponibile una piccola demo interessante all'indirizzo simpl.info/dc.

Questa demo mostra la comunicazione peer-to-peer di dati arbitrari in meno di cento righe di codice. Per farlo, devi avere Chrome 25 o versioni successive, ovvero beta o Canary.

RTCDataChannel sfrutta al meglio le funzionalità integrate in RTCPeerConnection, in particolare l'utilizzo del framework ICE per superare firewall e NAT, e ha molte potenziali applicazioni in cui la bassa latenza è fondamentale: per giochi, applicazioni desktop remote, chat di testo in tempo reale e trasferimento di file.

Per ulteriori informazioni su RTCDataChannel, consulta la Guida introduttiva a WebRTC.

Modifiche all'API

Meno entusiasmante, ma comunque importante: a partire da Chrome 26, alcune proprietà dell'API RTCPeerConnection e MediaStream sono diventate metodi getter:

  1. MediaStream ora ha il metodo getAudioTracks() anziché la proprietà audioTracks e getVideoTracks() anziché videoTracks.
  2. RTCPeerConnection ora ha getLocalStreams() anziché localStreams e getRemoteStreams() anziché remoteStreams.

Per avere un'idea di come funziona MediaStream, dai un'occhiata alla demo getUserMedia simpl.info/gum. La variabile stream è di ambito globale: esaminala dalla console. Analogamente per RTCPeerConnection all'indirizzo simpl.info/pc: gli oggetti RTCPeerConnection pc1 e pc2 sono a livello globale.

Chrome <=> Firefox

Inoltre, se per caso non l'hai notato, ora Chrome può "parlare" con Firefox.

Puoi provare subito questa funzionalità all'indirizzo webrtc.org/start, dove sono disponibili istruzioni complete, link al codice sorgente e informazioni sulle differenze tra le API.

Un ringraziamento a chi ha reso possibile tutto questo in Mozilla e Google.

Buona programmazione! Inoltre, segnalaci eventuali bug commentando questo post o visitando la pagina bugs.chromium.org. E non dimenticare che puoi sempre ottenere informazioni aggiornate sull'implementazione dal sito eccellente chromestatus.com.