抱歉我的英文。我有webRTC的问题。我的应用程序在同一网络中正常工作,但不同是错误的。
我使用的技术:
在这个github中,我推送了我的代码:github/oihi08/webrtc
我不知道为什么应用程序不能运行不同的网络。我上传到服务器,我试了一下,没有。但是在同一个网络中是的。
非常感谢!!
答案 0 :(得分:2)
听起来你没有使用STUN / TURN服务器。在两个设备之间创建连接有几个步骤。其中一个步骤是选择一个或多个STUN / TURN服务器(例如“stun:stun.l.google.com:19302”)。此服务器将用于在对等体之间创建连接,即使在一端或两端存在防火墙时也是如此。
当你设置一个或多个STUN / TURN服务器时,你会看到冰候选者将开始生成。将为生成的每个冰候选者调用回调函数peerConnection.onicecandidate
。当库完成生成冰候选时,它再次以NULL
作为参数调用回调,这标记了候选列表的结尾。
你需要以某种方式将这些冰候选者传递给另一个对等体,通常是通过用于创建连接的相同信令服务器。当他们到达另一侧时,您需要调用peerconnection.addIceCandidate。
如果您执行这些步骤,即使在具有严格NAT类型的网络上,您也能够获得正确的连接。