gpt4 book ai didi

javascript - RTCPeerConnection 如何使用 STUN/TURN 服务器阵列?

转载 作者:行者123 更新时间:2023-12-02 19:01:32 28 4
gpt4 key购买 nike

我们正在使用提供的 STUN/TURN 服务器列表对 Web RTC 的行为进行一些研究。我找不到任何文档,所以我正在做一些测试,但我希望有人可以提供清晰的解释。

根据文档 ( https://developer.mozilla.org/en-US/docs/Web/API/RTCIceServer/urls ),我们可以提供任意数量的服务器。

  • 但是 RTCPeerConnection 如何选择要使用的服务器?
  • 它是否会尝试第一个,如果失败则尝试第二个,直到一个成功为止?
  • 所有服务器是否都已启动并运行,或者连接是否能够跳过无法访问的服务器?
  • 如果第一台服务器能够完成协商,它是否仍会尝试与其余服务器进行协商?
  • 这只是改变候选人名单吗?

为了提供更多背景信息,我们有一个使用 Google Stun 服务器 (stun.l.google.com:19302) 的有效 WebRTC 应用程序,但我们正在迁移到我们自己的 STUN 服务器上。我们有一个 API,可以返回要使用的 STUN 服务器列表,但是根据我们的行为,我们可能会提供不同的列表。

感谢您的帮助

最佳答案

But how does the RTCPeerConnection choose the server to use?

RTCPeerConnection 不选择服务器,而是选择一对 ICE 候选服务器。通过联系服务器生成 ICE 候选者。

Does it try the first one and if it fails try the second one until one works?

它联系他们所有人(这个过程称为聚集)。建立连接后,您的 WebRTC 实现可能停止收集。

Should all the servers be up and running or is the connection able to skip an unreachable server?

服务器宕机是正常的。如果所有连接检查都不起作用,Trickle ICE 允许继续进行连接检查。

If the first server is able to conclude the negociation, does it still try with the remaining servers?

两个 WebRTC 代理不通过 STUN 服务器进行通信,这个问题有一点细微差别。在 connectivity WebRTC 好奇者章节查看 ICE 如何完成步骤。

Does it simply change the list of candidates?

是啊!对于每个 STUN 服务器,您可能有另一个候选服务器。这取决于 NAT 的行为。您可能采用的 NAT 配置仅提供一种映射。不太可能,但仍有可能!

关于javascript - RTCPeerConnection 如何使用 STUN/TURN 服务器阵列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65495851/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com