Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WebRTC设置和相关查询_Webrtc - Fatal编程技术网

WebRTC设置和相关查询

WebRTC设置和相关查询,webrtc,Webrtc,我正在尝试为WebRTC应用程序设置点对点连接。我已经阅读了论坛和讨论组,这些论坛和讨论组将我引向一个观点,即同样需要使用眩晕/转身服务器。详情如下: 我从下载了STUN/TURN服务器的开源实现 在本地Mac OS X计算机上安装了服务器,并在本地主机上打开了服务器:3478 当我使用客户端脚本测试服务器时,我能够从服务器返回远程地址 但是,当我试图在创建对等连接时从JavaScript代码命中服务器时,它并没有命中服务器本身 以下是我正在使用的代码: function createPeerC

我正在尝试为WebRTC应用程序设置点对点连接。我已经阅读了论坛和讨论组,这些论坛和讨论组将我引向一个观点,即同样需要使用眩晕/转身服务器。详情如下:

  • 我从下载了STUN/TURN服务器的开源实现
  • 在本地Mac OS X计算机上安装了服务器,并在本地主机上打开了服务器:3478
  • 当我使用客户端脚本测试服务器时,我能够从服务器返回远程地址
  • 但是,当我试图在创建对等连接时从JavaScript代码命中服务器时,它并没有命中服务器本身 以下是我正在使用的代码:

    function createPeerConnection() {
         var pc_config = {'iceServers': [{'url':'turn:127.0.0.1:3478', 'credential':'Apple123'}]};
           try {
            // Create an RTCPeerConnection via the polyfill (adapter.js).
            pc = new webkitRTCPeerConnection(pc_config);
            pc.onicecandidate = gotLocalCandidate;
            trace("Created RTCPeerConnnection with config:\n" + "  \"" +JSON.stringify(pc_config) + "\".");
          } catch (e) {
            trace("Failed to create PeerConnection, exception: " + e.message);
            alert("Cannot create RTCPeerConnection object; WebRTC is not supported by this browser.");
              return;
          }
    
          pc.onconnecting = onSessionConnecting;
          pc.onopen = onSessionOpened;
          pc.onaddstream = onRemoteStreamAdded;
          pc.onremovestream = onRemoteStreamRemoved;        
    }
    
    感谢您在这件事上的任何指导,因为我完全被困在这一点上了。
    还有一个问题:如果内部网络上同时存在对等a和B,如何为WebRTC应用程序设置对等连接?那么是否需要STUN/TURN服务器?

    首先,TURN服务器仅在无法直接建立p2p连接时使用。大约86%的通话无需通过TURN服务器转接(根据幻灯片,我推荐这张幻灯片是为了更好地理解TURN(来自幻灯片44))

    TURN服务器应该在您的网络之外,因为它的目的是在无法以其他方式中继流时中继流


    我建议您从A和B都在同一个网络上的情况开始。那么你就不用担心使用眩晕/转身了。这已经够复杂了。

    需要一个快速的答复。我正在尝试在同一网络上建立对等连接。你能告诉我如何继续这项工作吗,或者告诉我一个链接?因为,我曾尝试在同一台机器上创建本地和远程对等连接,效果非常好。然而,在不同的机器上创建对等连接时,我面临着通过代码获取另一台机器的IP地址的问题。听起来你已经到了需要弄清楚如何将消息传递到另一个节点的地步。为此,我使用node.js和websockets,但选择是免费的。但是您需要某种服务器功能,能够将消息中继到正确的对等方。只需更新。。我能够在内部网络上成功地设置WebRTC连接。现在,我将继续在VPN上建立相同的功能。我猜这就是回合/眩晕服务器进入场景的地方。我说的对吗??