Fehlerbehebung – Web

Dieses Thema umfasst die folgenden Abschnitte:

Protokollierung auf der Konsole

Wenn Sie Ihre Anwendung entwickeln, fügen Sie den unten stehenden Code irgendwo in Ihre Anwendung ein. Auf diese Weise erhalten Sie mehr Logging-Ausgaben auf Ihrer Konsole und können Ihr Programm besser verfolgen und verstehen, was hinter den Kulissen geschieht.

  OT.setLogLevel(OT.DEBUG);

Sie können auch Nachrichten auf der Konsole protokollieren, indem Sie die Funktion OT.log() Methode:

OT.log("my session ID: " + session.sessionId);

(Aufruf OT.setLogLevel(OT.DEBUG) oder OT.setLogLevel(OT.LOG) vor dem Aufruf OT.log().)

Testen mehrerer Client-Verbindungen auf einem Rechner

Sie können einen Stream, den Sie auf derselben Browserseite veröffentlichen, nicht abonnieren. Sie können die Seite jedoch in einem zweiten Tab (oder Browserfenster) öffnen und einen Stream abonnieren, der in dem anderen Tab (oder Fenster) veröffentlicht wurde.

Verwendung von Abschlusshandlern

Bei vielen Methoden, die asynchron abgeschlossen werden, ist der letzte Parameter, den Sie übergeben, eine Abschlusshandlerfunktion. Diese Funktion wird aufgerufen, wenn die Methode abgeschlossen ist oder fehlschlägt. Wenn sie fehlschlägt, wird der Funktion ein Fehlerobjekt als Parameter übergeben.

Der folgende Code ruft beispielsweise die Methode `Session.connect()` auf und übergibt dabei einen Abschluss-Handler:

  var session = OT.initSession(apiKey, session);
  session.connect(token, function (error) {
    if (error) {
      if (error.name === "OT_NOT_CONNECTED") {
        alert("You are not connected to the internet. Check your network connection.");
      }
      console.log("Failed to connect: ", error.message);
    } else {
      console.log("Connected");
    }
  });

Weitere Informationen finden Sie unter Behandlung von Ausnahmen.

Abhören von Ausnahmeereignissen

Um alle Ausnahmeereignisse zu erkennen, fügen Sie einen Ereignislistener für die exception Ereignis, das vom OT-Objekt ausgelöst wird. Es ist jedoch einfacher, in den Abschluss-Handlern bestimmter Methoden auf Fehler zu reagieren. Siehe Behandlung von Ausnahmen.

// Listen for exceptions
OT.on("exception", function(event) {
    console.log(event.message);
}

Fehlersuche mit Inspector

Inspektor liefert nachträgliche Diagnoseinformationen zu OpenTok-Sitzungen. Geben Sie eine Sitzungs-ID oder eine gemeldete Problem-ID ein (siehe die nächster Abschnitt) in Inspector, um Rohdaten auf Stream- und Benutzerebene anzuzeigen und so Fehler, Ausfälle und Qualitätsprobleme gezielt zu lokalisieren.

Einzelheiten finden Sie in der Inspektor-Dokumentation.

Probleme mit OpenTok Playground reproduzieren

Spielplatz nutzt das OpenTok.js-SDK für den Zugriff auf die OpenTok-Plattform und hilft Ihnen dabei, bei der Bereitstellung aufgetretene Probleme nachzustellen.

Einzelheiten finden Sie in der Dokumentation zum Spielplatz.

Meldung eines Problems

Sie können die OT.reportIssue() Methode, um programmatisch zu melden, wenn in Ihrer Anwendung ein Problem auftritt. Diese Methode liefert Ihnen eine Problem-ID, die Sie mit der Methode Inspektor oder wenn Sie das Problem mit dem Vonage API-Supportteam besprechen.

OT.reportIssue(function(error, issueId) {
  if (error) {
    console.log(error);
  } else {
    console.log(issueId);
    // You may want to use XMLHttpRequest to report this issue ID to a server
    // that can store it in a database for later reference.
  }
});

Die OT.reportIssue() Methode nimmt einen Parameter entgegen, eine Abschlusshandlerfunktion, die aufgerufen wird, wenn der Aufruf von OT.reportIssue() erfolgreich ist oder fehlschlägt. Die Abschluss-Handler-Funktion hat zwei Parameter. Der erste Parameter ist ein Fehlerobjekt, das gesetzt wird, wenn der Aufruf der reportIssue() Methode fehlschlägt (z. B. wenn der Client nicht mit dem Netz verbunden ist) oder null wenn der Aufruf der reportIssue() Methode erfolgreich ist. Der zweite Parameter wird auf die gemeldete Problem-ID (eine eindeutige Zeichenfolge) gesetzt, wenn der Aufruf erfolgreich war.