如果建立的p2p连接失败,webrtc是否使用turn服务器?

问题描述 投票:0回答:1

嗨,我正在尝试使用 webRTC 构建应用程序并且 我对 webRTC 如何处理转弯服务器有点困惑。

我确实明白,在建立连接步骤中,如果网络环境不是 对于 p2p 连接,他们与 Turn 服务器建立对等连接。

但我很好奇在建立连接步骤中,如果两个对等点成功建立了 p2p 连接 并用它创建 PeerConnection。 后来其中一个peer的网络环境发生了变化 并且他们的 PeerConnection 失败 这种情况下webrtc自己用Turn服务器吗?

或者只是引发 PeerConnection 失败,我们必须对此采取措施?

感谢您提前阅读本文..

我正在尝试构建一个回合服务器,但似乎需要一些时间。 我想了解这个功能的进展。 所以它可能有助于防止构建错误的代码

networking webrtc p2p react-native-webrtc
1个回答
0
投票

如果无法直接连接,浏览器(或任何其他 WebRTC 客户端)将使用 TURN,而无需开发人员进行任何活动。无需为 TURN 创建单独的 RTCPeerConnection,将使用现有的 RTCPeerConnection。一般来说,启用 TURN 功能所需的唯一一件事是在 RTCPeerConnection 构造函数中提供 TURN 服务器凭据。 AFAIK,没有可靠的公共 TURN 服务器,因此您应该自己部署和配置 CoTURN。

如果通话中的人的网络状况发生变化,旧的 IP/端口将变得不可用,ICE 连接状态将变为“失败”,您可以调用 restartICE (https://developer.mozilla.org/en-US) /docs/Web/API/RTCPeerConnection/restartIce)重新协商连接。协商后,如果可能,媒体流将切换到直接 p2p,否则将使用 TURN。

© www.soinside.com 2019 - 2024. All rights reserved.