Señalización — Linux
Utiliza la API de señalización de OpenTok para enviar texto y datos entre los clientes conectados a una sesión de OpenTok.
Para obtener información conceptual sobre la API de señalización de OpenTok, consulta el Resumen sobre la señalización guía del desarrollador.
Este tema incluye las siguientes secciones:
- Envío de una señal a todos los clientes de una sesión
- Enviar una señal a un cliente concreto en una sesión
- Recepción de señales en una sesión
- Evitar que se envíen señales durante la reconexión automática
Enviar una señal a un cliente concreto en una sesión
Para enviar una señal a un cliente concreto en una sesión, llama a la función otc_session_send_signal_to_connection() función:
otc_session_send_signal_to_connection(session, "chat", "Hello", connection1);
El type El parámetro es un valor de cadena que los clientes pueden utilizar para filtrar cuando estar atento a las señales. Establece este valor en una cadena vacía si no necesitas especificar un tipo.
El signal Este parámetro especifica la carga útil de datos (una cadena) que se envía junto con el mensaje. El límite de tamaño de los datos es de 8 KB.
El connection El parámetro es un puntero a un otc_connection estructura correspondiente a un cliente conectado a la sesión a la que deseas enviar la señal. Se obtienen referencias a otc_connection estructuras en el connection del on_connection_created función de devolución de llamada de la otc_session_callbacks por ejemplo .
Envío de una señal a todos los clientes de una sesión
Para enviar una señal a todos los clientes de una sesión, llama a la función otc_session_send_signal() función:
otc_session_send_signal(session, "chat", "Hello");
El type El parámetro es un valor de cadena que los clientes pueden utilizar para filtrar cuando estar atento a las señales. Establece este valor en una cadena vacía si no necesitas especificar un tipo.
El signal Este parámetro especifica la carga útil de datos (una cadena) que se envía junto con el mensaje. El límite de tamaño de los datos es de 8 KB.
Recepción de señales en una sesión
El on_signal_received() función de devolución de llamada de la otc_session_callbacks La función `struct` se invoca cuando se recibe una señal en una sesión. Incluye los siguientes parámetros:
session— Un puntero alotc_sessioninstancia.user_data— Un puntero a los datos del usuario.type— Un puntero al tipo «string» de la señal.signal— Un puntero a la cadena de datos de la señal.connection— Un puntero alotc_connectioninstancia que identifica al cliente que envió la señal.
Ten en cuenta que puedes utilizar un Llamada a la API REST para enviar una señal desde tu servidor, en lugar de desde un cliente conectado a la sesión. En este caso, el connection del on_signal_received() se establece en null.
Evitar que se envíen señales durante la reconexión automática
Los clientes intentarán volver a conectarse automáticamente a una sesión de la que se hayan desconectado de forma inesperada (por ejemplo, debido a una interrupción de la conexión de red). De forma predeterminada, cualquier señal que envíes mientras el cliente esté temporalmente desconectado de una sesión se pone en cola y se envía cuando (y si) se vuelve a conectar con éxito. Puedes configurar el retryAfterReconnect) miembro de la otc_signal_options la estructura que pasas a la otc_session_send_signal_with_options() función o el otc_session_send_signal_to_connection_with_options() para false para evitar que las señales se acumulen en la cola mientras el cliente está desconectado. Para obtener más información, consulta Reconexión automática.