WebRTC在不同的网络中没有视频

时间:2015-02-06 12:35:01

标签: node.js github socket.io webrtc

抱歉我的英文。我有webRTC的问题。我的应用程序在同一网络中正常工作,但不同是错误的。

我使用的技术:

  • socket.io
  • 节点
  • 的CoffeeScript
  • zenserver

在这个github中,我推送了我的代码:github/oihi08/webrtc

我不知道为什么应用程序不能运行不同的网络。我上传到服务器,我试了一下,没有。但是在同一个网络中是的。

非常感谢!!

1 个答案:

答案 0 :(得分:2)

听起来你没有使用STUN / TURN服务器。在两个设备之间创建连接有几个步骤。其中一个步骤是选择一个或多个STUN / TURN服务器(例如“stun:stun.l.google.com:19302”)。此服务器将用于在对等体之间创建连接,即使在一端或两端存在防火墙时也是如此。

当你设置一个或多个STUN / TURN服务器时,你会看到冰候选者将开始生成。将为生成的每个冰候选者调用回调函数peerConnection.onicecandidate。当库完成生成冰候选时,它再次以NULL作为参数调用回调,这标记了候选列表的结尾。

你需要以某种方式将这些冰候选者传递给另一个对等体,通常是通过用于创建连接的相同信令服务器。当他们到达另一侧时,您需要调用peerconnection.addIceCandidate。

如果您执行这些步骤,即使在具有严格NAT类型的网络上,您也能够获得正确的连接。