Signalisierung

Übersicht

Mit der Vonage Video API und den SDKs können Sie Signale senden und empfangen. Signale sind beliebige Texte oder Daten, die in einer Sitzung an einen bestimmten Client oder an alle verbundenen Clients gesendet werden können. Signale können verwendet werden, um einen Text-Chat zu implementieren oder um Ereignisse in einem Anruf auszulösen, wie z. B. das Heben einer Hand.

Sie können Signale über die API oder die Client-SDKs senden. Dieser Leitfaden konzentriert sich auf das Senden und Empfangen von Signalen mit dem Vonage Video-Client-SDKs.

In dieser Anleitung wird das Thema behandelt:

  • Ein Signal senden.
  • Senden eines Signals an einen bestimmten Client.
  • Empfangen von Signalen.
  • Verhindern des Sendens von Signalen während der automatischen Wiederverbindung.

Bevor Sie beginnen

Bevor Sie Signale senden und empfangen können, müssen Sie zunächst einen Client mit einer Sitzung verbinden. Um mehr über Sitzungen und ihre Rolle in einer Vonage Video-Anwendung zu erfahren, lesen Sie die Dokumentation der Sitzungen.

Aussenden eines Signals

Um ein Signal zu senden, rufen Sie die Signal-Methode des Session-Objekts mit einigen String-Daten auf. Dieses Signal wird an alle mit der Sitzung verbundenen Clients gesendet. Die Daten sind auf 8 KB pro Signal begrenzt.

session.signal({ data: "hello" },
  function(error) {
    if (error) {
        console.log("signal error (" 
          + error.name + "): " 
          + error.message
        );
    } else {
        console.log("signal sent.");
    }
  }
);

Bitte prüfen Sie die Referenz für Ihr Client SDK für alle verfügbaren Parameter.

Senden eines Signals an einen bestimmten Client

Um ein Signal an einen bestimmten Client zu senden, übergeben Sie eine to an die Signalmethode übergeben. Der Wert des to Parameter sollte ein Verbindung Objekt, das dem Client entspricht, an den Sie das Signal senden möchten.

session.signal({ to: connection1, data: "hello" },
  function(error) {
    if (error) {
        console.log("signal error (" 
          + error.name + "): " 
          + error.message
        );
    } else {
        console.log("signal sent.");
    }
  }
);

Empfangen von Signalen

Um Signale zu empfangen, die in einer Sitzung gesendet werden, fügen Sie eine Ereignis-Listener/Delegate-Funktion für Signale hinzu. Beim Senden eines Signals können Sie auch eine type Parameter, der ein String ist, wird dieser Typ zurückgegeben, wenn Sie ein Signal empfangen. Nur in JavaScript und React Native können Sie auf Ereignisse eines bestimmten Typs hören, indem Sie einen Ereignis-Listener für die signal:type Ereignis. Zum Beispiel, signal:foo lauscht auf Signale des Typs "foo".

session.on("signal", function(event) {
    console.log("Signal sent from connection " + event.from.id);
    // Process the event.data property, if there is any data.
});

Beachten Sie, dass Sie Signale von Ihrem Server aus senden können, anstatt von einem mit der Sitzung verbundenen Client. In diesem Fall wird die Eigenschaft from auf null.

Verhindern des Sendens von Signalen während der automatischen Wiederherstellung der Verbindung

Clients versuchen, sich automatisch wieder mit einer Sitzung zu verbinden, wenn die Verbindung unerwartet unterbrochen wird (z. B. aufgrund einer Unterbrechung der Netzwerkverbindung). Standardmäßig werden alle Signale, die Sie senden, während der Client vorübergehend von einer Sitzung getrennt ist, in eine Warteschlange gestellt und gesendet, sobald (und falls) er die Verbindung erfolgreich wiederherstellt.

Um dieses Verhalten zu unterbinden, setzen Sie beim Senden eines Signals die retryAfterReconnect Parameter zu false. Weitere Informationen finden Sie in der Anleitung für Entwickler zur automatischen Wiederherstellung der Verbindung.

Siehe auch