【发布时间】:2020-11-27 09:02:51
【问题描述】:
有一个来自 WebRTC org 的 webrtc 示例
https://webrtc.github.io/samples/src/content/peerconnection/pc1/
它展示了如何在两个对等点之间创建对等连接。但是,重要的是要注意两个对等点都在本地计算机上。而这也是我们想要的,我们需要这个peerConnection来获得AEC(audio echo cancel)的好处。
但是在我们学校的网络环境下, 我们只使用 Edge(Chromium) 加入 webrtc 网页。而且出于安全考虑,我们将 WebRtcLocalhostIpHandling 设置为 default_public_interface_only,这会导致 rtcpeerConnection 断开,无法正常工作。
让我解释一下: WebRtcLocalhostIpHandling 是一种影响 Edge 浏览器行为的策略。 并且值 default_public_interface_only 表示允许在 HTTP 默认路由上使用通用接口。这不会暴露本地 IP 地址
现在的问题是: 我们需要 rtcpeerConnection 工作,还需要策略设置,我们应该怎么做? rtcPeerConnection api有配置吗?
【问题讨论】:
-
我同意菲利普的观点。根据peer connections doc,STUN 或 TURN 服务器将为每个客户端提供 ICE 候选者,然后将其传输到远程对等点。它将本地 IP 地址转换为公共 IP 地址以发送出去。您还可以在this article 和this article 中找到有关 STUN 服务器和 TURN 服务器的更多信息。
-
您可以尝试设置此策略:WebRtcLocalIpsAllowedUrls。它可以指定 WebRTC 应公开本地 IP 地址的源 (URL) 或主机名模式列表。您可以在此政策中设置您的网站。
标签: javascript html webrtc microsoft-edge policy