WebRTC ICE在局域网外失败

时间:2015-12-09 10:57:35

标签: webrtc stun ice-protocol

我正在编写WebRTC应用程序,尽管我的局域网内的一切正常。但是,当对等体位于不同的网络上时,我有ICE Failed错误。

我的STUN服务器返回公共IP候选者,因此我认为它已正确设置。问题是候选IP没有“正确配对”。浏览器总是尝试将一个公共IP连接到一个私有IP,因此连接失败(请参阅Candidate Pairs)。

这可能是什么问题?信令服务器或rtcpeerconnection配置?

1 个答案:

答案 0 :(得分:1)

仅使用本地主机和服务器自反候选者,只有在NAT允许来自其他对等体的传入数据包时才能连接,通常NAT不允许来自NAT未知的源的传入数据包。您可以在RFC-3489之后的WebRTC实现之外进行NAT发现(虽然已过时但仍然有用),或者只是在不知道NAT类型的情况下创建NAT绑定,如果您位于端口限制锥形或全锥形NAT后面,它将起作用类型。如果您不想进行NAT发现并应用一些智能来遍历NAT,使用WebRTC进行连接的简单解决方案是使用TURN服务器来使用Relay候选者。