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 ...
随机推荐
- winform连接ACCESS数据库
1.先建立一个名叫text.mdb的access数据库 2.他它复制到access中文件下. 3.在App_Code文件夹下建好封装语句,查询方法,连接语句,其中studentDA中的代码为: pri ...
- 论meta name= viewport content= width=device-width initial-scale=1 minimum-scale=1 maximum-scale=1的作用
一.先明白几个概念 phys.width: device-width: 一般我们所指的宽度width即为phys.width,而device-width又称为css-width. 其中我们可以获取ph ...
- Codeforces Round #192 (Div. 2)
吐槽一下,这次的CF好简单啊. 可是我为什么这么粗心这么大意这么弱.把心沉下来,想想你到底想做什么! A 题意:O(-1) 思路:O(-1) #include <iostream> #in ...
- CCF认证(1)
#include <iostream> #include <windows.h> using namespace std; typedef struct letter{ int ...
- MacPort 的使用
MacPorts 的安装和使用 官网下载最版本的 安装包 自动安装 可能会出现很慢的情况 设置环境变量 vim ~/.bash_profile i 插入修改 :wq 保 ...
- div自定义的滚动条 (水平导航条)
<!DOCTYPE html> <html> <head> <title></title> <style> div{ /* wi ...
- MyEclipse tomcat7.x 自定义项目部署路径
- IOS第二天
第二天 *******图片的放大,和缩小 (去掉自动的布局) -(IBAction ) zoomFrame:(UIbutton *) button{ CGRect frame= self.iconBu ...
- angular+ckeditor最后上传的最后一张图片不会被添加(bug)
做法一: angularJs+ckeditor 一.页面 <textarea ckeditor required name="topicContent" ng-model=& ...
- Run P4 without P4factory - A Simple Example In Tutorials. -2 附 simple_router源码
/* Copyright 2013-present Barefoot Networks, Inc. Licensed under the Apache License, Version 2.0 (th ...