【问题标题】:Chrome appears to create workable local ICE candidates even when STUN/TURN servers are down--can I use them somehow?即使 STUN/TURN 服务器关闭,Chrome 似乎也可以创建可行的本地 ICE 候选者——我可以以某种方式使用它们吗?
【发布时间】:2017-10-24 14:26:35
【问题描述】:

当 STUN/TURN 服务器关闭时,我使用chrome://webrtc-internals/ URL 来调试我们的 WebRTC 应用程序行为。我注意到的一件有趣的事情是,在“Stats Tables”下似乎生成了很好的“peerreflexive”本地 ICE 候选者,例如:

Cand-2rjZ43jF (localcandidate)
Statistics Cand-2rjZ43jF
timestamp   10/24/2017, 9:19:39 AM
ipAddress   192.168.59.1
networkType unknown
portNumber  40555
priority    1845501695
transport   udp
candidateType   peerreflexive

问题是这个候选人从来没有通过onicecandidate 回调来找我。

这只是 Chrome 的内部怪癖还是有办法获得这些完美的候选人?

【问题讨论】:

    标签: google-chrome webrtc libnice


    【解决方案1】:

    我不知道这个 ICE 候选人是如何产生的。但正如您所看到的,候选人指向192.168.59.1,这是您的 LAN IP 地址。因此,此候选人仅适用于连接到与您的计算机处于同一 LAN 的某人。

    【讨论】:

    • 是的,这实际上是我们应用程序中的标准场景——它更多地是为 LAN 使用而设计的。真的,我们根本不想使用 ICE/STUN/TURN,但它是 WebRTC 的必需部分。
    • 我不会说这是必需的部分。这取决于用例。您可以在两个浏览器部分之间建立调用,而无需定义任何 STUN/TURN 服务器。我没有尝试调用同一网络上的另一台计算机,但它应该以相同的方式工作
    • 协议信号部分的一部分是交换 ICE 候选者,当 STUN/TURN 服务器没有响应时,Chrome 不会生成任何“icecandidate”事件,从我的我看到了。我发布这个问题是因为奇怪的是,webrtc-internals URL 确实显示了一些候选人,我很想尝试使用它们。
    猜你喜欢
    • 1970-01-01
    • 2021-08-10
    • 1970-01-01
    • 2014-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多