Der Fehler, den ich in der Browser-Konsole erhalte (erscheint nur in Chrome, keine Fehler in Firefox) ist Fehler: Ausführen von 'addIceCandidate' auf 'RTCPeerConnection' fehlgeschlagen : Der ICE-Kandidat konnte nicht hinzugefügt werden.WebRTC - 'RTCPeerConnection': Der ICE-Kandidat konnte nicht hinzugefügt werden
Ich folgte einem Tutorial und war in der Lage, P2P-Video-Chat mit nodejs zu arbeiten. Jetzt verwende ich Flask und Python auf der Serverseite und angularjs auf der Clientseite.
Der Signalprozess für zwei Peers wird mit angular-socketio durchgeführt.
console.log("The user connected to the socket");
socket.emit('readyToJoinRoom', {"signal_room": SIGNAL_ROOM});
//Send a first signaling message to anyone listening
//This normally would be on a button click
socket.emit('signal',{"type":"user_joined", "message":"Are you ready for a call?", "room":SIGNAL_ROOM});
socket.forward('signaling_message', $scope);
$scope.$on('socket:signaling_message', function (ev, data) {
displaySignalMessage("Signal received: " + data.type);
// Setup the RTC Peer Connection object
if (!rtcPeerConn) {
startSignaling();
}
if(data.type != "user_joined") {
console.log(data.message);
var message = JSON.parse(data.message);
console.log(message);
if(message.sdp) {
console.log("inside 2nd if statement");
rtcPeerConn.setRemoteDescription(new RTCSessionDescription(message.sdp), function() {
// if we received an offer, we need to answer
if(rtcPeerConn.remoteDescription.type === 'offer') {
console.log("inside third if for remoteDescription."); // This never executes, error happens right before this line
rtcPeerConn.createAnswer(sendLocalDesc, logError);
}
}, logError);
}
else {
console.log("addedddddddd ice candidate.");
rtcPeerConn.addIceCandidate(new RTCIceCandidate(message.candidate));
}
}
});
Sobald zwei Personen dem Raum beitreten, wird die Methode startSignaling() aufgerufen Er stellt die lokale Beschreibung ein und vervollständigt 3 Eiskandidaten, dann erhalte ich einen SDP, aber das ist nie wahr if (rtcPeerConn.remoteDescription.type === 'offer'), obwohl es den SDP in der Konsole mit einem Typ gleich druckt Angebot. Ich bin nicht sicher, warum es nie in diese if-Aussage geht. Ich bin mir nicht sicher, warum ich einen Fehler bekomme. Wenn Sie Fragen haben, fragen Sie einfach. Danke für die Hilfe.
Ich habe das versucht und es hat nicht funktioniert = [. Immer noch der gleiche Fehler. – sebenalern