2016-07-05 8 views
6

Ich erhalte diesen Fehler DOMException: Error processing ICE candidate, wenn ich versuche, einen Eiskandidaten hinzuzufügen. Hier ist der Kandidat:DOMException: Fehler beim Verarbeiten des ICE-Kandidaten

Kandidat: 1278028030 1 udp 2122260223 10.0.18.123 62694 typ Host Generation 0 ufrag eGOGlVCnFLZYKTsc Netzwerk-ID 1

Außerdem ist es nicht immer der Fall - andere Zeit, um alles geht glatt. Ich kann ein konsistentes Muster nicht reproduzieren, wo es diesen Fehler werfen würde. Irgendwelche Ideen, wie man das löst/debuggt es würde geschätzt werden!

Antwort

8

Dieses Problem ist fast völlig undokumentiert, und um es noch schlimmer zu machen, scheint nur Google den w3 webRTC-Standard zu implementieren. Sie weichen auch von diesem Standard ab.

jedoch, wie es ist sehr wahrscheinlich, dass dies auf Chrome auftreten wird (ich habe Firefox nicht überprüft und Safari nicht implementiert getUserMedia()), diese Fehlermeldung durch die Einführung Chrome von der Konsole erhalten wird wahrscheinlich helfen:

[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. 

So können Sie keine ICE-Kandidaten hinzufügen, ohne Remote-Beschreibung als nach der neuesten Version von Chrome, und wie es ist 2017 ohne webRTC Fortschritt außer Facebook Messenger, sieht dies für die vorhersehbare gültig Zukunft.

erinnern So

if(!peerConnection || !peerConnection.remoteDescription.type){ 
    //push candidate onto queue... 
} 

anrufen und nach der Fern Beschreibung Einstellung läuft die Warteschlange Kandidaten mit der Peer-Verbindung im richtigen Zustand hinzuzufügen!

1

Wenn ich eine zweite Runde Angebot-Antwort mache, funktioniert es. Ich bin mir nicht sicher, warum das notwendig ist.

1

Fügen Sie den Kandidaten hinzu, bevor Sie setRemoteDescription aufrufen? Firefox 36 hatte ein Problem, bei dem Kandidaten vor der Remote-Beschreibung gesendet wurden, aber das wurde seit langem gelöst.

1

Wenn Sie mehr als ein RTCPeerConnection Objekt in der Nähe haben, müssen Sie sicherstellen, dass Sie die ICE-Kandidaten und Beschreibungen zum richtigen hinzufügen.

0

Dieser Fehler kann auch auftreten, wenn Sie versuchen, eine Verbindung zu Ihrer eigenen lokalen Peer-ID herzustellen.

1

Diese veraltet sein können, aber ich hatte den gleichen Fehler, ich

auf Chrom DOMException: Error processing ICE candidate, bekam

auf Firefox, war es ein Fehler, der nur DOMException angegeben.

Die zusätzliche Nachricht war: "Invalid candidate (both sdpMid and sdpMLineIndex are null).", und das war genau der Fall, ich habe sie wirklich nicht von der Antwort verwendet, die ich vom Signalserver über den Eiskandidaten erhielt.

Die Verwendung dieser 2 Werte, als ich das Signal empfangen habe, hat diesen Fehler verhindert.

Hoffe das hilft jemand anderem.

Verwandte Themen