【问题标题】:WebRTC Identifying only Local Ice Candidates with Trickle Ice example without any stun serversWebRTC 使用 Trickle Ice 示例仅识别本地 Ice 候选者,而无需任何 stun 服务器
【发布时间】:2021-09-23 16:50:41
【问题描述】:

我正在尝试使用 webrtc 数据通道建立一个 基于家庭对等 webrtc 的聊天系统,当我尝试使用 Create offer 获取 Ice 候选人时,我观察到只有一次 ice 候选人是本地的,并且生成的 SDP 字符串提到了 IP 地址 127.0.0.1 和 0.0.0.0。 我在 createOffer() 之前添加了一个数据通道并创建了相应的冰处理程序。 我试图通过 getUsermedia() 添加媒体,但我只看到一个候选冰。 当我尝试检查 Trickle Ice (https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/) 我看到了同样的情况,我没有看到任何带有我的 IP 地址的条目..

因此,其他对等方无法建立连接。

我没有使用任何 websockets,而是使用电子邮件在对等方之间直接共享 sdp 字符串,因为我试图了解它是如何工作的。 由于 Ice 服务器只需要 nat 遍历,而我的目的是在家庭聊天中,我不想添加任何 STUN 或 TURN 服务器。

我在没有任何 Ice Servers 的 Trickle Ice 中看到以下条目。 时间组件类型基础 ProtocolAddress 端口优先级 0.003 rtp 主机 1178812653 udp 31703155-6932-43d7-9d9b-44dda8daea28.local 58170 126 | 30 | 255

任何帮助表示赞赏

【问题讨论】:

  • 如果我记得,自 2019 年以来,本地 IP 地址不再显示(由于安全/保密问题)。相反,WebRTC 检索 mDNS 条目以进行本地互连。

标签: webrtc stun sdp ice


【解决方案1】:

安东宁所说的完全正确。这是discuss-webrtcmore details

一种解决方案可能是按原样使用 mDNS 候选主机名,或者执行 gUM 调用,然后让 Chrome 使用私有 IP 地址(后者似乎是一种解决方法,最终可能会中断)。其他人可能有更明确的解决方案。祝你好运!

【讨论】:

    猜你喜欢
    • 2014-01-03
    • 1970-01-01
    • 2014-06-19
    • 1970-01-01
    • 2019-08-29
    • 2016-08-08
    • 2014-10-18
    • 2019-06-07
    • 1970-01-01
    相关资源
    最近更新 更多