《Getting Started with WebRTC》第一章 WebRTC介绍
《Getting Started with WebRTC》第一章 WebRTC介绍
本章是对WebRTC做概念性的介绍。
阅读完本章后。你将对下面方面有一个清晰的理解:
. 什么是WebRTC
. 怎样使用它
. 哪些浏览器支持
1.1. WebRTC介绍
World Wide Web(WWW)是出如今1990年代的早期,
它是建立在使用HREF超链接的以页面为中心的模型上。
在这个网页的早期模型中,浏览器从一个网页到还有一个网页是通过更新HTML内容来实现的。
到了2000年,一种新的网页浏览方式开发出来了,
且在后面变成了一个标准。即 XMLHttpRequest(XHR) API。
这个新的 XHR API同意网页开发人员创建不须要导航到新页面来更新显示内容或用户接口的Web应用。
这样,能够让开发人员使用基于server的Web服务,这些服务包含訪问结构化数据或其他页面内容的片段等。
这给Web应用带来了一种全新的方法,如今通用的叫法为 Web 2.0。
基于XHR API提供的服务包含 Gmail, Facebook, Twitter和很多其它动态应用、社交应用。
如今,页面已经发展到了还有一种传输方式,
它同意独立的Web浏览器直接在彼此间进行流传输数据。而不用通过中间的server发送。
这样的新的P2P通信方式建立在一个新的API集上,
并被Web Real-Time Communications Working Group(http://www.w3.org/2011/04/webrtc/)标准化。
这个工作组隶属于W3C。
正如XHR API领导了Web 2.0的革命。新的WebRTC标准将创造一场新的革命。
我们已经进入了实时Web时代。
1.2 WebRTC的使用
实时Web同意你和其他Web浏览器。以及Web可訪问的设备建立高速而简易的动态连接,
这给端对端通信创新了一种全新的方式,
包含基于文本的聊天。文件共享。屏蔽共享,游戏,传感器数据反馈,音频呼叫。视频聊天等。
能够看到了WebRTC的应用是非常广泛的。
浏览器间的直接而安全的P2P通信对如今Web应用将会有巨大的影响。将会重塑整个物理网络。
直接的P2P连接提供了低延时,能使游戏操作,视频流。传感器反馈等变得更快、更实时的交互。
安全的P2P连接同意你实现不经过中间server记录和管理的私人化的信息交换。
这降低了对大型服务提供商的需求。同一时候为人们创建新型服务和应用提供了机会。
它也改进了隐私保护的机制。
而且,高效的二进制数据流P2P交换消灭了序列化,重编码或数据处理的须要。
它带来了网络和应用资源更高效的应用。同一时候创建了更少错误且更健壮的数据交换管道。
本章是WebRTC的简单应用的预览,读完本书。你们获得将你全部新的想法变成实际应用的全部信息。
1.3 试用WebRTC
先检查你的浏览器是否支持摄像头訪问,能够能过以下的网址:
http://www.simpl.info/getusermedia
也能够在移动设备上试下,假设成功,能够看到视频预览窗体正常的视频回显。
能够打开站点
http://apprtc.appspot.com/
和别人聊天,这个站点是基于WebRTC的。(我试了下,打不开)
也可试用这个:
http://jitsi.shengbin.me/
或
https://meet.jit.si/
(后面这两个我试用了。能够使用)
1.3 浏览器的兼容性
1. PC上的Chrome 和Firefox都支持;
2. Android上的 Chrome和Firefox都支持。
须要使用:chrome://flags/
打开WebRTC的开关;
3. Opera也支持
4. 微软有它自己的WebRTC方案,叫做CU-RTC-WEB,
http://html5labs.interoperabilitybridges.com/cu-rtc-web/curtc-web.htm.
5. 苹果
苹果如今还有没有对在Safari中支持WebRTC做不论什么声明,
因此,要应用它仅仅能在iOS中使用由Ericsson实验室实现的一个早期概念性浏览器Bowser来实现,
它能够在:http://labs.ericsson.com/apps/bowser.找到。
事实上,Safari和Chrome, Opera一样,都是基于WebKit平台的。苹果没有开放WebRTC主要不是技术原因。
1.4 保持更新
WebRTC不是一个简单的API, 它是API和协议的集合。
能够到这个站点:
http://www.webrtc.org,
上看它的最新进展和获得各种资源。
《Getting Started with WebRTC》第一章 WebRTC介绍的更多相关文章
- Mariadb第一章:介绍及安装--小白博客
mariadb(第一章) 数据库介绍 1.什么是数据库? 简单的说,数据库就是一个存放数据的仓库,这个仓库是按照一定的数据结构(数据结构是指数据的组织形式或数据之间的联系)来组织,存储的,我们可以 ...
- Java 螺纹第三版 第一章Thread介绍、 第二章Thread创建和管理学习笔记
第一章 Thread导论 为何要用Thread ? 非堵塞I/O I/O多路技术 轮询(polling) 信号 警告(Alarm)和定时器(Timer) 独立的任务(Ta ...
- 【Bochs 官方手册翻译】 第一章 Bochs介绍
Bochs 是一个可以完全模拟 Intel x86 计算机的虚拟机系统.它包含了 Intel x86 CPU 仿真.常见设备仿真.以及定制 BIOS.Bochs 可以虚拟多种不同类型的 x86 CPU ...
- LSJ_NHibernate第一章 NHibernate介绍
前言: 说起NHibernate网上资料真不少,但用的人却并不多,说起java的SSH框架大家可能就知道了,这里的H指的就是Hibernate,一款好用的ORM框架,在.net重写了这款好用的框架,名 ...
- 《Spring敲门砖之基础教程第一季》 第一章 概要介绍
百度百科say: Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建.简单来说,Spring是一个分层的JavaSE/EEful ...
- 第一章 python介绍、变量、数据类型、流程控制语句等
一.python介绍 1.python的诞生 python是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum(龟叔)于1989年发明,第一个公开发行版发行于1991年. ...
- MySQL高级第一章——架构介绍
一.简介 是一个经典的RDBMS,目前归属于Oracle 高级MySQL包含的内容: MySQL内核 SQL优化工程师 MySQL服务器的优化 各种参数常量设定 查询语句优化 主从复制 软硬件升级 容 ...
- CS231n 2016 通关 第一章-内容介绍
第一节视频的主要内容: Fei-Fei Li 女神对Computer Vision的整体介绍.包括了发展历史中的重要事件,其中最为重要的是1959年测试猫视觉神经的实验. In 1959 Harvar ...
- 第一章 Electron介绍 | Electron in Action(中译)
Github 官方地址 代表作: Visual Studio Code Atom - Code editor. Github开源的代码编辑器,Electron起源地 Visual Studio Cod ...
随机推荐
- 分享非常有用的Java程序 (关键代码) (一)
原文:分享非常有用的Java程序 (关键代码) (一) 分享一些非常有用的Java程序 (关键代码) ,希望对你有所帮助. 1. 得到当前方法的名字 String methodName = Th ...
- MAMP:在 OSX 中搭建 Apache, MySQL, PHP 环境并本地安装、调试 WordPress
MAMP 这个名字来源于 Macintosh Apache MySQL PHP,显然专门用来在 Mac 环境下搭建 Apache.MySQL.PHP 平台. 虽然 OSX 中已经预装了 Apache ...
- 基于visual Studio2013解决C语言竞赛题之0707月份输出
题目 解决代码及点评 /* 编一程序,打入月份号,输出该月的英文月名. 例如,输入"3",则输出"March",要求用指针数组处理. */ #includ ...
- c语言,结构体
数据类型分为4种, 简单数据类型,构造数据类型,指针数据类型,空类型. 结构体属于构造数据类型,用struct标识. 声明一个结构体: Typedef struct和struct c c++ typ ...
- javascript每日一练(四)——DOM二
一.DOM的创建,插入,删除 createElement(标签名) appendChild(节点) insertBefore(节点,原有节点) removeChild(节点) <!doctype ...
- wxWidgets帮助文档(1)
IMPLEMENT_APP IMPLEMENT_APP(className) 这是在应用程序中使用类的实现文件的应用程序类wxWidgets动态建筑.你用这个代替Old form: MyApp myA ...
- Eclipse用法和技巧六:自动生成get和set方法1
java的类中,除了常量声明为静态且公有的,一般的对象数据作用域,都是声明为私有的.这样做能保护对象的属性不会被随意改变,调试的时候也会方便很多:在类的公有方法中大一个调用栈就能看到哪里改了属性值.声 ...
- SQLiteLog (1) no such Column:
今天在进入sqlite数据库查询的时候出现了这个问题,SQLiteLog (1) no such Column: BGZ 搜索得知这是因为数据库中没有这一列,我的sql语句为" ...
- 十分钟开发一个调用Activity的PhoneGap插件
在HybridApp开发中,非常多业务我们是没有办法通过HTML5+js实现的,比方调用第三方的包括Activity的jar包,一些必须使用原生代码才干实现的功能,比方复杂的UI的效果,调用通讯相关的 ...
- 两个栈实现队列+两个队列实现栈----java
两个栈实现队列+两个队列实现栈----java 一.两个栈实现一个队列 思路:所有元素进stack1,然后所有出s ...