google 提供webrtc 的实例使用 turnserver的方式
google的turnserver 下载方式:svn checkout http://rfc5766-turn-server.googlecode.com/svn/branches/v3.2/ rfc5766-turn-server-read-only
关于webrtc的应用google给了一个实例:
https://apprtc.appspot.com/(需要翻 墙,有时候翻 墙也不一定能登陆,估计是使用的人太多了)
我一直很好奇他使用turn的方式,后来终于搞明白是怎么回事。请看下面几个角色:
1、client:普通的webrtc终端,android、浏览器、windows应用程序,mac程序等等
2、信令服务器:这里就是指apprtc.appspot.com这个server
3、turnserver:turn服务器,nat穿越用的,帮忙打洞(relay)
4、turnclient账户管理服务器,和信令服务器使用同一个一级域名和端口号(必须这样,在这里不做详细说明)
5、turnclient:turn的client端一般情况下都已经集成在client中了。
工作方式如下:
a、client 从信令服务器拿到turnclient账户管理服务器的URL
b、client使用URL去访问turnclient账户管理服务器,得到访问turnserver的账号和密码
c、client 将账户和密码告知turnclient
d、turnclient访问turnserver
看到这里会出现一个问题:在整个过程中turnclient账户管理服务器没有和turnserver怎么没有交互的过程?
这里这两者确实没有交互过程,请听我慢慢道来:
这里turnserver的工作模式是“restapi”(不知道什么是restapi请去查看turn的协议),具体方式如下:
这种方式只需要turnclient知道turnserver的key就好了,turnclient只需要使用key,想办法使用key生成账户和密码就好了。而生成用户名和密码的动作就是由turnclient账户管理服务器完成的。
预知详细的工作流程请留言。
google 提供webrtc 的实例使用 turnserver的方式的更多相关文章
- TypeToken 是google提供的一个解析Json数据的类库中一个类
Type listType = new TypeToken<LinkedList<User>>(){}.getType(); Type是java里的reflect包的Type ...
- 使用Google提供的ZXing Core,Java生成、解析二维码
1.maven项目中,pom.xml中引入ZXing Core工具包: <!-- https://mvnrepository.com/artifact/com.google.zxing/core ...
- 获得 LayoutInflater 实例的三种方式
在实际开发中LayoutInflater这个类还是非常有用的,它的作用类似于findViewById().不同点是LayoutInflater是用来找res/layout/下的xml布局文件,并且实例 ...
- [转]获得 LayoutInflater 实例的三种方式
转自:http://www.cnblogs.com/androidez/archive/2013/07/01/3164729.html 获得 LayoutInflater 实例的三种方式 在实际开 ...
- Java Class类以及获取Class实例的三种方式
T - 由此 Class 对象建模的类的类型.例如,String.class 的类型是Class<String>.如果将被建模的类未知,则使用Class<?>. publi ...
- Google Map API 应用实例说明
目录 Google Map API 1基础知识 1.1 Google 地图 API 概念 1.2 Google 地图的"Hello, World" 1.2.1 加载 Google ...
- Drupal 8 提供REST服务实例
drupal8 的核心模块已经支持REST服务. 这样的话使用drupal 对外提供web service 变的简单了. 测试一下d8 的webservice : extend 中的 依赖模块:全部启 ...
- jQuery 引用地址(包括jquery和google提供的地址), 节省你不必要的流量
转载自:http://www.cnblogs.com/henw/archive/2011/09/30/2196255.html 你可以使用这句代码读取jQuery的最新版本的代码文件. jquery官 ...
- 优化后的 google提供的汉字转拼音类(针对某些htc等手机的不兼容情况)
/* * Copyright (C) 2011 The Android Open Source Project * * Licensed under the Apache License, Versi ...
随机推荐
- html5响应式设置<meta>
<meta name="viewport" content="width=device-width, initial-scale=1.0"> < ...
- createElement,createTextNode,appendChild
<html> <head> <meta charset="UTF-8"> <title></title> <scr ...
- HDU 2577
How to Type Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tota ...
- 使用RMAN备份数据库
1.1使用控制文件备份全库 1.1.1配置备份路径 1.1.2 RMAN备份全库 1.2使用catalog数据库备份全库 1.2.1配置到远程数据库的TNS 1.2.2创建表空间及设置用户 1.2.3 ...
- vbox下Oracle Enterprise liunx5.4虚拟机安装10G RAC实验(一)
1.配置第一个虚拟机 1.1 安装后的登录界面 1.2 第1台机器(单数据配置方面) 1.2.1 验证安装包 1.2.2 修改内核参数 1.2.3添加安全限制 1.2.4关闭防火墙 1.2.5添加用户 ...
- BizTalk动手实验(九)业务规则引擎使用
1 课程简介 通过本课程熟悉业务规则引擎(BRE)的使用(本环境为Windows 2008 32位操作系统环境 + Visual Studio 2010 + BizTalk 210) 2 准备工作 1 ...
- Matlab里面的SVM
支持向量机是建立在统计学习理论基础之上的新一代机器学习算法,支持向量机的优势主要体现在解决线性不可分问题,它通过引入核函数,巧妙地解决了在高维空间中的内积运算,从而很好地解决了非线性分类问题. 构造出 ...
- Ceph与OpenStack的Nova相结合
https://ervikrant06.wordpress.com/2015/10/24/how-to-configure-ceph-as-nova-compute-backend/ 在Ceph的ad ...
- lr并发量和迭代的区别
1.并发量 并发量也就是同时运行的量.比如100个用户同时登录,那么并发量就是100.当然这100个用户可以进行参数化,也可以采用设置虚拟用户数(vuser). 2.迭代 迭代就是单个用户运行的次数. ...
- 杂-lowbit
int lowbit(int x){ )); } int lowbit(int x){ return x&-x; }