In WebRTC scheint es eine sehr gut definierte Reihenfolge zu geben, in der Dinge passieren. Lokal verwende ich getUserMedia
, um meinen lokalen Stream zu erhalten und den Stream in einer Variablen zu speichern. Ich erstelle ein RTCPeerConnection
Objekt, das ich nenne, und ich füge den lokalen Strom hinzu. Ich füge einen onaddstream
Event-Handler zu pc
hinzu, so dass ich den Stream des entfernten Benutzers zu einer Variable speichern kann, und schließlich als das src
Attribut eines HTML-Elements wie audio
setzen kann. Ich setzte auch onicecandidate
Event-Handler auf meinem pc
, um Eiskandidaten zu behandeln.Wie kann ich ein WebRTC-Angebot ablehnen?
An diesem Punkt gibt es eine RTCPeerConnection
, aber kein Remote-Benutzer "noch verbunden". Hier beginnt das "Angebot/Antwort". Nehmen wir an, ich benutze Websockets zur Signalisierung und erhalte ein Angebot, eine Nachricht, die 'Angebot' genannt wird und ein SDP-Objekt enthält. Wie lehne ich es ab und wie sollte dies an beiden Endpunkten gehandhabt werden?
Zum Beispiel könnte ich eine Nachricht "ablehnen" senden, die an den anderen Benutzer weitergeleitet werden würde. Meine RTCPeerConnection existiert noch, und vielleicht möchte ich andere Anrufe empfangen können. Wie es ist, muss ich nichts zu meiner RTCPeerConnection tun, richtig? Muss der andere Benutzer, der das Angebot gesendet hat, etwas tun? Muss er diese bestimmte RTCPeerConnection schließen? Ich würde nicht denken, da er nur ein SDP-Objekt erstellt hat und dann außerhalb von WebRTC über Websockets das Objekt an den anderen Benutzer gesendet hat. Er fügte jedoch das Angebot mit setLocalDescription
hinzu. Wenn das Angebot abgelehnt wird, muss er etwas dagegen tun?
Wenn ich ein Angebot erstelle und es an den anderen Benutzer sende, wenn ich nie eine Antwort bekomme, kann ich einfach ein Angebot an einen dritten Benutzer senden und dann, wenn er eine Antwort sendet, bin ich mit ihm verbunden?
Ich habe nichts über den Lebenszyklus einer RTCPeerConnection gefunden.