我在我的项目中使用 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/