WebRTC开发基础(WebRTC入门系列3:RTCDataChannel)

除了视频和音频,webRTC还可以传输其他数据

例子:

http://webrtc.github.io/samples/src/content/datachannel/datatransfer/

应用场景:

  • 游戏
  • 远程桌面应用程序
  • 实时文本聊天
  • Web文件传输

API充分利用了RTCPeerConnection 强大和灵活的点对点通信

  • 利用RTCPeerConnection 会话。
  • 多通道同步通道。
  • 可靠和不可靠的传递语义(delivery semantics)。
  • 内置安全(DTLS)和阻塞控制。
  • 能够使用或不使用音频或视频。

代码例子:

var pc = new webkitRTCPeerConnection(servers,
  {optional: [{RtpDataChannels: true}]});

pc.ondatachannel = function(event) {
  receiveChannel = event.channel;
  receiveChannel.onmessage = function(event){
    document.querySelector("div#receive").innerHTML = event.data;
  };
};

sendChannel = pc.createDataChannel("sendDataChannel", {reliable: false});

document.querySelector("button#send").onclick = function (){
  var data = document.querySelector("textarea#send").value;
  sendChannel.send(data);
};

通信在浏览器之间直接连接,所以RTCDataChannel比WebSocket更快(因为WebSocket需要服务器中转)

WebRTC data channels 

http://www.html5rocks.com/en/tutorials/webrtc/datachannels/

原文地址:https://www.cnblogs.com/starcrm/p/5126623.html