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

Altre buone notizie dal nostro vecchio amico WebRTC.

Per la precisione: tre buone notizie e un paio di piccole modifiche all'API.

RTCDataChannel per Chrome

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

Questa demo mostra la comunicazione peer-to-peer di dati arbitrari in meno di 100 righe di codice. A questo scopo, devi avere Chrome 25 o versioni successive, che a questo punto significa beta o Canary.

RTCDataChannel sfrutta al massimo le funzionalità integrate in RTCPeerConnection - non ultimo, l'uso se il framework ICE per superare firewall e NAT - e ha molte potenziali applicazioni in cui la bassa latenza è fondamentale: per giochi, applicazioni desktop remoti, chat di testo in tempo reale e trasferimento di file.

Per ulteriori informazioni su RTCDataChannel, consulta la pagina Getting Started with WebRTC.

Modifiche all'API

La cosa meno interessante, ma comunque importante: da Chrome 26, alcune proprietà RTCPeerConnection e dell'API MediaStream sono diventate metodi getter:

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

Per dare un'occhiata a MediaStream in azione, guarda la demo di getUserMediasimpl.info/gum. La variabile stream è in ambito globale: esaminala dalla console. Allo stesso modo, per RTCPeerConnection all'indirizzo simpl.info/pc: gli oggetti RTCPeerConnection pc1 e pc2 sono in ambito globale.

Chrome <=> Firefox

E nel caso te perse Chrome ora può "parlare" a Firefox.

Puoi provarlo subito all'indirizzo webrtc.org/start, che contiene istruzioni complete, link al codice sorgente e informazioni sulle differenze delle API.

Suggerimenti per i clienti di Mozilla e Google che hanno realizzato tutto questo.

Buona programmazione! Comunicaci eventuali bug commentando questo post o all'indirizzo bugs.chromium.org. Non dimenticare che puoi sempre ottenere informazioni aggiornate sull'implementazione sul sito chromestatus.com.