首页 > Web开发 > 详细

google 提供webrtc 的实例使用 turnserver的方式

时间:2014-10-28 17:44:00      阅读:5164      评论:2      收藏:0      [点我收藏+]

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/(需要FQ,有时候FQ也不一定能登陆,估计是使用的人太多了)

我一直很好奇他使用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的方式

原文:http://www.cnblogs.com/Haijunzhu/p/4057040.html

(3)
(3)
   
举报
评论 一句话评论(2
2015-09-24 13:50:05
您好,我按照网上的帖子,在apprtc.py中设置了turnserver的ip和用户信息:


def make_pc_config(ice_transports):
  config = { ‘iceServers‘: [{
  "url": "stun:198.11.178.145"
  },{
    "url": "turn:xu@198.11.178.145",
    "credential": "1234"
}] };
但是firefox在运行js脚本创建peerconnection的时候提示,没有用户信息,请问turnserver的信息该用什么格式设置?
回复
 (9)
 (3)
2016-05-30 17:36:41
说的不错,能把详细的工作流程讲一下吗?
回复
 (9)
 (3)
2条  
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!