javascript - RTCPeerConnection 未在 google chrome webrtc-internals 中清除

标签 javascript webrtc rtcpeerconnection

我在我的项目中使用 webrtc。但是当 RTCPeerConnection.iceConnectionState='closed'它没有从浏览器中删除(Google Chrome 67.0.3396.99)。

我用过RTCPeerConnection.close()之后我将连接对象设置为 null 。但它仍然显示在 chrome://webrtc-internals/ 中。问题是我的应用程序中可能有太多连接,因此当连接未清除时,我将无法在一段时间后创建任何新连接。我的应用程序中显示太多连接错误。有人可以帮我解决这个问题吗?

谢谢

最佳答案

这是 Chrome 中长期存在的问题,我一直在跟踪。 RTCPeerConnection 没有及时收集垃圾。。我注意到随着时间的推移,特别是在选项卡之间切换时,RTCPeerConnection 最终会被垃圾收集。

限制似乎是 500 个连接,因此请尝试限制您建立的连接数量。

以下是一些引用此错误的链接:

https://bugs.chromium.org/p/chromium/issues/detail?id=825576 https://bugs.chromium.org/p/chromium/issues/detail?id=429600

编辑:

一个巧妙的解决方案可能是在 iframe 中创建连接。我记得当 iframe 被删除时,连接被 GC 了。

关于javascript - RTCPeerConnection 未在 google chrome webrtc-internals 中清除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57523944/

相关文章:

webrtc - 为什么像 Pusher 这样的解决方案声称是 "Real time"?

javascript - 无法限制 RTCMulticonnection 中的带宽使用

javascript - 如何销毁 RTCPeerConnection?

kubernetes - 如何在 Kubernetes 上使用 WebRTC 和 RTCPeerConnection?

javascript - Angular JS 中管理依赖关系的最佳实践

javascript - 查找数组中最长的单词 JavaScript

javascript - 如何从 Python 调用 Javascript 函数?

安卓原生webrtc : add video after already connected

java - 在 JavaScript RegExp 中复制 Java 的 "Pattern.quote"的功能

javascript - 如何在连接多个远程对等点后关闭媒体流?