为WebRTC应用程序实现我们自己的STUN/TURN服务器

为WebRTC应用程序实现我们自己的STUN/TURN服务器,webrtc,stun,rfc5766turnserver,turn,Webrtc,Stun,Rfc5766turnserver,Turn,我正在开发一个webrtc应用程序,必须实现以下TURN服务器 我遵循这个教程 它说在创建RTPeerConnection的javascript代码中引用TURN服务器,如下所示 var pc_config = {"iceServers": [{"url": "stun:stun.l.google.com:19302"}, {"url":"turn:<turn_server_ip_address>", "username":"my_username", "credential

我正在开发一个webrtc应用程序,必须实现以下TURN服务器

我遵循这个教程

它说在创建RTPeerConnection的javascript代码中引用TURN服务器,如下所示

var pc_config = {"iceServers": [{"url": "stun:stun.l.google.com:19302"},
  {"url":"turn:<turn_server_ip_address>", "username":"my_username", "credential":"my_password"}]};

pc_new = new webkitRTCPeerConnection(pc_config);
var pc_config={“iceServers”:[{“url”:“stun:stun.l.google.com:19302”},
{“url”:“turn:”,“username:“my_username”,“credential:“my_password”}]};
pc_new=新的WebKitRTPeerConnection(pc_配置);
我有点困惑,为什么我们要引用谷歌的公共STUN服务器。我以为RFC5766回合服务器里面有眩晕

RFC5766是否仅为TURN服务器?而不是昏迷服务器?难道我们不能实现我们自己的STUN服务器而不是使用谷歌提供的吗

很抱歉问了这么天真的问题。我是WebRTC的新手


谢谢。

TURN它是眩晕的扩展,所以TURN服务器也有眩晕功能

也可以作为一种眩晕,所以你可以试着写这样的东西:

var pc_config = {"iceServers": [{"url":"turn:my_username@<turn_server_ip_address>", "credential":"my_password"}]};

pc_new = new webkitRTCPeerConnection(pc_config);
var pc_config={“iceServers”:[{“url”:“turn:my_username@”,“credential:“my_password”}];
pc_new=新的WebKitRTPeerConnection(pc_配置);

最近,我捕获了我的Kurento WebRTC服务器数据包,并意识到它一直在使用此
www.stunprotocol.org
域进行STUN请求。名为
stuntman
的工具可以为您创建一个简单的STUN服务器

只需在Linux主机上执行以下操作:

  • sudo-apt-get-update
  • sudo-apt-get-install-stuntman服务器
  • stunserver——模式已满——主界面100.101.102.103

    (其中100.101.102.103应替换为您的IP地址)
  • 打开以测试您的STUN服务器
  • e、 g.昏迷转身URI:

    stun:100.101.102.103:3478
    

    通过我提到的这个过程,我的机器一切顺利。

    要构建我们自己的回合和眩晕服务器实现(不使用预构建服务器),您有什么建议?@NikhilKinkar我不建议这样做,因为使用CoTurn开源服务器可能需要很长时间,因为它是最流行的服务器now@NikhilKinkar你有没有设置自己的回合和眩晕服务器?