Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

Einen Anruf beenden

Das Letzte, was Sie sicherstellen möchten, ist, dass Ihre Anrufer eine Möglichkeit haben, einen Anruf zu beenden. Der eleganteste Weg, dies zu tun, besteht darin, die Verbindung mit der close()-Funktion zu schließen, was Sie in einem Ereignislistener für die Auflege-Schaltfläche tun können.

  1. Fügen Sie das Folgende an das Ende Ihrer script.js-Datei hinzu:

    js
    const hangUpBtn = document.querySelector(".hangup-btn");
    hangUpBtn.addEventListener("click", () => {
      conn.close();
      showCallContent();
    });
    
  2. Wenn die Verbindung geschlossen wurde, möchten Sie auch den korrekten HTML-Inhalt anzeigen, sodass Sie einfach Ihre showCallContent()-Funktion aufrufen können. Innerhalb des call-Ereignisses möchten Sie auch sicherstellen, dass der entfernte Browser aktualisiert wird. Um dies zu erreichen, fügen Sie einen weiteren Ereignislistener innerhalb des peer.on('call', (stream) => { }-Ereignislisteners innerhalb des Bedingungsblocks hinzu.

    js
    conn.on("close", () => {
      showCallContent();
    });
    

    Auf diese Weise werden, wenn die Person, die den Anruf initiiert hat, zuerst auf "Auflegen" klickt, beide Browser trotzdem mit dem neuen Status aktualisiert.

  3. Testen Sie Ihre App erneut und versuchen Sie, einen Anruf zu beenden.

Hinweis: Das on('close')-Ereignis, das bei der conn-Variable aufgerufen wird, ist in Firefox noch nicht verfügbar; das bedeutet nur, dass in Firefox jeder Anrufer individuell auflegen muss.

Warnung: Die Art, wie wir derzeit alles codiert haben, bedeutet, dass wenn eine Verbindung geschlossen wird, beide Browser nur aktualisiert werden, wenn die Person, die den Anruf gestartet hat, zuerst auf "Auflegen" drückt. Wenn die Person, die den Anruf beantwortet hat, zuerst auf "Auflegen" klickt, muss der andere Anrufer ebenfalls auf "Auflegen" klicken, um den korrekten HTML-Inhalt zu sehen.

Damit sind wir mit dem Projekt fertig! Als Nächstes könnten Sie es bei einem Hosting-Anbieter, der Node.js-Projekte unterstützt, bereitstellen.