除了视频和音频,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需要服务器中转)