除了视频和音频,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/

WebRTC开发基础(WebRTC入门系列3:RTCDataChannel)的更多相关文章

  1. WebRTC开发基础(WebRTC入门系列1:getUserMedia)

    什么是WebRTC WebRTC由IETF(Internet Engineering Task Force——互联网工程任务组)和W3C(World Wide Web Consortium——万维网联 ...

  2. WebRTC开发基础(WebRTC入门系列2:RTCPeerConnection)

    RTCPeerConnection的作用是在浏览器之间建立数据的“点对点”(peer to peer)通信. 使用WebRTC的编解码器和协议做了大量的工作,方便了开发者,使实时通信成为可能,甚至在不 ...

  3. [易学易懂系列|rustlang语言|零基础|快速入门|系列文章]

    简单易懂的rustlang入门教程. [易学易懂系列|rustlang语言|零基础|快速入门|(1)|开篇] [易学易懂系列|rustlang语言|零基础|快速入门|(2)|VCCode配置] [易学 ...

  4. 《Web 开发基础》专题系列

      说在前头     Web的重要性我想不必我多说了,写这篇文章的目的主要是想分享一些我学习Web前端开发的知识积累,其中以JavaScript为主,比较适合新人看,也欢迎大牛们多多留言提提意见.   ...

  5. Python开发基础-Day1-python入门

    编程语言分类 机器语言 使用二进制代码直接编程,直接与硬件交互,执行速度非常快,灵活,但是开发难度高,开发效率低下,缺乏移植性. 汇编语言 对机器语言指令进行了英文封装,较机器语言容易记忆,直接与硬件 ...

  6. java自学:从零基础到入门系列--java环境变量的配置JDK的下载安装图解

    一.首先去官网下载 Java 语言的软件开发工具包–JDK,下载JDK8即可,下载地址为:https://www.oracle.com/technetwork/java/javase/download ...

  7. 快速入门系列--WebAPI--01基础

    ASP.NET MVC和WebAPI已经是.NET Web部分的主流,刚开始时两个公用同一个管道,之后为了更加的轻量化(WebAPI是对WCF Restful的轻量化),WebAPI使用了新的管道,因 ...

  8. [转]快速入门系列--WebAPI--01基础

    本文转自:http://www.cnblogs.com/wanliwang01/p/aspnet_webapi_base01.html ASP.NET MVC和WebAPI已经是.NET Web部分的 ...

  9. 快速入门系列--WebAPI--04在老版本MVC4下的调整

    WebAPI是建立在MVC和WCF的基础上的,原来微软老是喜欢封装的很多,这次终于愿意将http编程模型的相关细节暴露给我们了.在之前的介绍中,基本上都基于.NET 4.5之后版本,其System.N ...

随机推荐

  1. HTML-入门篇day01

    HTML-入门篇day01 1.web     C/S:Client Server    客户端 服务器    QQ,...    B/S:Browser Server    浏览器 服务器 PC机: ...

  2. js-day02

    1.数据类型转换2.函数3.分支结构*******************************1.数据类型转换 数据类型:number,string,boolean,null,undefined ...

  3. 2019.01.09 bzoj2599: [IOI2011]Race(点分治)

    传送门 题意:给一棵树,每条边有权.求一条路径,权值和等于K,且边的数量最小. 思路: 考虑点分治如何合并. 我们利用树形dpdpdp求树的直径的方法,边dfsdfsdfs子树边统计答案即可. 代码: ...

  4. C#中string类型是值类型还是引用类型?(转)

    出处:https://www.cnblogs.com/dxxzst/p/8488567.html .Net框架程序设计(修订版)中有这样一段描述:String类型直接继承自Object,这使得它成为一 ...

  5. 一个WCF 数据序列化问题

    public class EMMPBaseMsg { public String Data { get; set; } public DateTime AddTime { get; set; } pu ...

  6. python中下划线

    引用:https://blog.csdn.net/tcx1992/article/details/80105645?from=timeline Python中下划线的5种含义 class A(obje ...

  7. jquery checkbox反复调用attr('checked', true/false)只有第一次生效 Jquery 中 $('obj').attr('checked',true)失效的几种解决方案

    1.$('obj').prop('checked',true) 2. $(':checkbox').each(function(){ this.checked=true; }) 为什么:attr为失效 ...

  8. java并发控制工具类和集合等

    转载自:https://my.oschina.net/hosee/blog/607677 摘要: 本系列基于炼数成金课程,为了更好的学习,做了系列的记录. 本文主要介绍: 1.各种同步控制工具的使用 ...

  9. php mysqli 链接数据库 CURD 增改查删

    <?php function println($msg) { echo "<br>"; echo $msg; } $mysql_server_name = &qu ...

  10. weblogic配置集群(一)

    一.程序安装 二.创建域 好的  篇幅太长  我就接下来的操作就写在下一篇博客了 weblogic配置集群(二)