Android 系统 WebView - 2023 年 6 月更新 - 导致 webRTC ICE 候选选择延迟 40 秒

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

我们有一个 Android 应用程序,它使用 webview 来处理我们的 webRTC 连接。自 2023 年 6 月更新(至版本 114.x)以来,当 webRTC 进入 ICE 候选选择时,我们一直经历着可怕的 40 秒延迟。

还有其他人看到这个问题吗?

android webview webrtc ice
2个回答
1
投票

您遇到了 https://bugs.chromium.org/p/webrtc/issues/detail?id=7844

您使用的 Google STUN 服务器具有 IPv6 的 AAAA 记录,并且在您正在查看的计算机上超时,可能是因为没有 IPv6 上行链路。

Twilio 的 STUN 服务器仅具有 IPv4 A 记录(或者更确切地说是指向 A 记录的 CNAME),因此不会尝试收集服务器反射性 IPv6 候选者。

这个超时是故意的。如果您同意不支持服务器反射 IPv6 候选者,您应该在收集 srflx IPv4 候选者后发送报价,而不是等待收集状态更改完成。或者更确切地说,jssip 应该,我建议提交一个错误。

现在为什么这种行为在 Android WebView 的 2023 年 6 月更新中发生了变化……可能与 DNS 相关。


0
投票

我找到了延迟 40 秒的原因。

虚拟以太网适配器导致 40 秒延迟。

在stun服务器上创建offer和answer后,我检查了定义的sdp关键数据,我注意到有超过3个ip地址,我从cmd>ipconfig中一一检查它们。其中一些属于虚拟以太网适配器。

Win+X > 设备管理器 > 网络适配器

我右键单击虚拟以太网(下图中我有3个虚拟以太网适配器)并将它们一一禁用,创建报价和创建应答操作在2秒内执行。

现在下一个问题是:我们如何在不告诉用户禁用虚拟以太网适配器的情况下解决这个问题。

见下图。

40 sc delay due to virtual ethernet adapters

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