DOMException:处理ICE候选者时出错

Eva*_*tis 16 webrtc

DOMException: Error processing ICE candidate当我尝试添加冰候选人时,我收到此错误.这是候选人:

候选人:1278028030 1 udp 2122260223 10.0.18.123 62694 typ host generation 0 ufrag eGOGlVCnFLZYKTsc network-id 1

而且,它并不总是发生 - 其他时间一切顺利.我无法重现一致的模式,它会抛出此错误.任何想法如何解决这个/调试它将不胜感激!

lol*_*lol 31

这个问题几乎完全没有记录,更糟糕的是,Google似乎只是在实施w3 webRTC标准.他们也偏离了这个标准.

但是,由于很可能会在Chrome上发生这种情况(我没有检查过Firefox,并且Safari没有实现getUserMedia()),因此从控制台启动Chrome获得的此错误消息可能会有所帮助:

[ERROR:rtc_peer_connection_handler.cc(1439)] Error processing ICE candidate.
[ERROR:webrtcsession.cc(1134)] ProcessIceMessage: ICE candidates can't be added without any remote session description.
Run Code Online (Sandbox Code Playgroud)

因此,根据最新的Chrome版本,你不能在没有设置远程描述的情况下添加ICE候选人,并且因为除了Facebook Messenger之外没有webRTC进展的2017年,这看起来在可预见的未来是有效的.

所以记得打电话

if(!peerConnection || !peerConnection.remoteDescription.type){
    //push candidate onto queue...
}
Run Code Online (Sandbox Code Playgroud)

在设置远程描述之后,迭代队列以添加对等连接处于正确状态的候选者!

  • 为什么要检查 `!peerConnection.remoteDescription.type`?我相信 `!peerConnection.remoteDescription` 是这里正确的检查。`.remoteDescription` 属性可能为 null。`.type` 属性是一个不可为 null 的字符串 (2认同)

Ste*_*rte 5

如果您尝试连接到您自己的对等(本地)ID,也会发生此错误。