Signalisierung — macOS
Verwenden Sie die OpenTok-Signalisierungs-API, um Text und Daten zwischen Clients zu übertragen, die mit einer OpenTok-Sitzung verbunden sind.
Konzeptionelle Informationen zur OpenTok-Signalisierungs-API finden Sie in der Überblick über die Signalisierung Leitfaden für Entwickler.
Dieses Thema umfasst die folgenden Abschnitte:
- Ein Signal an alle Clients in einer Sitzung senden
- Ein Signal an einen bestimmten Client in einer Sitzung senden
- Empfang von Signalen in einer Sitzung
- Verhindern des Sendens von Signalen während der automatischen Wiederherstellung der Verbindung
Ein Signal an einen bestimmten Client in einer Sitzung senden
Um ein Signal an einen bestimmten Client in einer Sitzung zu senden, rufen Sie die Funktion otc_session_send_signal_to_connection() Funktion:
otc_session_send_signal_to_connection(session, "chat", "Hello", connection1);
Die type „parameter“ ist ein Zeichenfolgenwert, nach dem Clients filtern können, wenn auf Signale achten. Setzen Sie diesen Wert auf eine leere Zeichenfolge, wenn Sie keinen Typ festlegen müssen.
Die signal Der Parameter gibt die Datenlast (eine Zeichenkette) an, die Sie mit der Nachricht senden. Die maximale Datengröße beträgt 8 KB.
Die connection Parameter ist ein Zeiger auf ein otc_connection Struktur, die einem Client entspricht, der mit der Sitzung verbunden ist, an die Sie ein Signal senden möchten. Sie erhalten Verweise auf otc_connection Strukturen in der connection Parameter des on_connection_created Callback-Funktion des otc_session_callbacks Beispiel .
Ein Signal an alle Clients in einer Sitzung senden
Um ein Signal an alle Clients in einer Sitzung zu senden, rufen Sie die Funktion otc_session_send_signal() Funktion:
otc_session_send_signal(session, "chat", "Hello");
Die type „parameter“ ist ein Zeichenfolgenwert, nach dem Clients filtern können, wenn auf Signale achten. Setzen Sie diesen Wert auf eine leere Zeichenfolge, wenn Sie keinen Typ festlegen müssen.
Die signal Der Parameter gibt die Datenlast (eine Zeichenkette) an, die Sie mit der Nachricht senden. Die maximale Datengröße beträgt 8 KB.
Empfang von Signalen in einer Sitzung
Die on_signal_received() Callback-Funktion des otc_session_callbacks Die Funktion „struct“ wird aufgerufen, wenn in einer Sitzung ein Signal empfangen wird. Sie enthält die folgenden Parameter:
session— Ein Zeiger auf dieotc_sessionInstanz.user_data— Ein Zeiger auf die Benutzerdaten.type— Ein Zeiger auf die Typzeichenfolge für das Signal.signal— Ein Zeiger auf die Datenzeichenkette für das Signal.connection— Ein Zeiger auf dieotc_connectionInstanz, die den Client identifiziert, der das Signal gesendet hat.
Beachte, dass du ein REST-API-Aufruf um ein Signal von Ihrem Server aus zu senden, anstatt von einem mit der Sitzung verbundenen Client. In diesem Fall wird die connection Parameter des on_signal_received() wird eingestellt auf null.
Verhindern des Sendens von Signalen während der automatischen Wiederherstellung der Verbindung
Clients versuchen, automatisch wieder eine Verbindung zu einer Sitzung herzustellen, von der sie unerwartet getrennt wurden (beispielsweise aufgrund eines Ausfalls 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) die Verbindung erfolgreich wiederhergestellt wurde. Sie können die retryAfterReconnect) Mitglied des otc_signal_options die Struktur, die Sie an die otc_session_send_signal_with_options() Funktion oder die otc_session_send_signal_to_connection_with_options() Funktion zu false um zu verhindern, dass Signale in die Warteschlange gestellt werden, während die Verbindung zum Client unterbrochen ist. Weitere Informationen finden Sie unter Automatische Wiedereinschaltung.