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账户管理服务器完成的

  预知详细的工作流程请留言。

原文地址:https://www.cnblogs.com/Haijunzhu/p/4057040.html