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/

 

posted @ 2016-01-13 11:10  昕友软件开发  阅读(2137)  评论(0编辑  收藏  举报
欢迎访问我的开源项目:xyIM企业即时通讯