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的方式的更多相关文章

  1. TypeToken 是google提供的一个解析Json数据的类库中一个类

    Type listType = new TypeToken<LinkedList<User>>(){}.getType(); Type是java里的reflect包的Type ...

  2. 使用Google提供的ZXing Core,Java生成、解析二维码

    1.maven项目中,pom.xml中引入ZXing Core工具包: <!-- https://mvnrepository.com/artifact/com.google.zxing/core ...

  3. 获得 LayoutInflater 实例的三种方式

    在实际开发中LayoutInflater这个类还是非常有用的,它的作用类似于findViewById().不同点是LayoutInflater是用来找res/layout/下的xml布局文件,并且实例 ...

  4. [转]获得 LayoutInflater 实例的三种方式

    转自:http://www.cnblogs.com/androidez/archive/2013/07/01/3164729.html 获得 LayoutInflater 实例的三种方式   在实际开 ...

  5. Java Class类以及获取Class实例的三种方式

    T - 由此 Class 对象建模的类的类型.例如,String.class 的类型是Class<String>.如果将被建模的类未知,则使用Class<?>.   publi ...

  6. Google Map API 应用实例说明

    目录 Google Map API 1基础知识 1.1 Google 地图 API 概念 1.2 Google 地图的"Hello, World" 1.2.1 加载 Google ...

  7. Drupal 8 提供REST服务实例

    drupal8 的核心模块已经支持REST服务. 这样的话使用drupal 对外提供web service 变的简单了. 测试一下d8 的webservice : extend 中的 依赖模块:全部启 ...

  8. jQuery 引用地址(包括jquery和google提供的地址), 节省你不必要的流量

    转载自:http://www.cnblogs.com/henw/archive/2011/09/30/2196255.html 你可以使用这句代码读取jQuery的最新版本的代码文件. jquery官 ...

  9. 优化后的 google提供的汉字转拼音类(针对某些htc等手机的不兼容情况)

    /* * Copyright (C) 2011 The Android Open Source Project * * Licensed under the Apache License, Versi ...

随机推荐

  1. zk 获取session,request,servletContext,response

    (参考:http://www.dotblogs.com.tw/rockywang/archive/2010/01/13/12995.aspx) HttpServletRequest request = ...

  2. centos 安装haproxy 1.6.3

    yum install libtermcap-devel ncurses-devel libevent-devel readline-devel gcc gcc-c++ pcre pcre-devel ...

  3. EmguCV 简单图形绘制

    一.圆 public static void cvCircle( IntPtr img, System.Drawing.Point center, //Center of the circle int ...

  4. Javascript中的new

    直接上代码 function test () { } document.write(typeof test() + "<br />") document.write(t ...

  5. Socket请求和Http请求的各自特点、区别及适用场景

    Socket实现服务器与客户端之间的物理连接,并进行数据传输.主要有TCP/UDP两个协议.Socket处于网络协议的传输层.TCP:传输控制协议,面向连接的的协议,稳定可靠.当客户和服务器彼此交换数 ...

  6. leetcode371. Sum of Two Integers

    Calculate the sum of two integers a and b, but you are not allowed to use the operator + and -. Exam ...

  7. ExtJs 使用点滴 十三 在FormPanel 嵌入按钮

    Ext.onReady(function () { //初始化标签中的Ext:Qtip属性. Ext.QuickTips.init(); Ext.form.Field.prototype.msgTar ...

  8. 制作图表二、使用图片工厂设置RGB改变图标颜色

    亮绿 RGB:76 175 80灰色 RGB:151 151 153

  9. KinderEditor编辑器使用

    KinderEditor编辑器的使用 分为简单的三步.1:添加引用部分 <script src="/KinderEditor/kindeditor-min.js">&l ...

  10. storm kafka整合

    public class KafkaTopo { public static void main(String[] args) { String zkRoot = "/kafka-storm ...