Sinalização — macOS
Use a API de sinalização do OpenTok para enviar texto e dados entre clientes conectados a uma sessão do OpenTok.
Para obter informações conceituais sobre a API de sinalização do OpenTok, consulte o Visão geral da sinalização guia do desenvolvedor.
Este tópico inclui as seguintes seções:
- Envio de um sinal para todos os clientes em uma sessão
- Envio de um sinal para um cliente específico em uma sessão
- Recebimento de sinais em uma sessão
- Impedir que sinais sejam enviados durante a reconexão automática
Envio de um sinal para um cliente específico em uma sessão
Para enviar um sinal a um cliente específico em uma sessão, chame a função otc_session_send_signal_to_connection() função:
otc_session_send_signal_to_connection(session, "chat", "Hello", connection1);
O type O parâmetro é um valor de cadeia de caracteres que os clientes podem usar para filtrar quando ficar atento aos sinais. Defina esse valor como uma string vazia caso não seja necessário definir um tipo.
O signal O parâmetro especifica a carga útil de dados (uma string) que você envia junto com a mensagem. O limite para o tamanho dos dados é de 8 KB.
O connection o parâmetro é um ponteiro para um otc_connection estrutura correspondente a um cliente conectado à sessão à qual você deseja enviar um sinal. Você obtém referências a otc_connection estruturas no connection parâmetro do on_connection_created função de retorno de chamada do otc_session_callbacks instância.
Envio de um sinal para todos os clientes em uma sessão
Para enviar um sinal a todos os clientes em uma sessão, chame a função otc_session_send_signal() função:
otc_session_send_signal(session, "chat", "Hello");
O type O parâmetro é um valor de cadeia de caracteres que os clientes podem usar para filtrar quando ficar atento aos sinais. Defina esse valor como uma string vazia caso não seja necessário definir um tipo.
O signal O parâmetro especifica a carga útil de dados (uma string) que você envia junto com a mensagem. O limite para o tamanho dos dados é de 8 KB.
Recebimento de sinais em uma sessão
O on_signal_received() função de retorno de chamada do otc_session_callbacks A função `struct` é chamada quando um sinal é recebido em uma sessão. Ela inclui os seguintes parâmetros:
session— Um ponteiro para ootc_sessioninstância.user_data— Um ponteiro para os dados do usuário.type— Um ponteiro para a string que identifica o tipo do sinal.signal— Um ponteiro para a sequência de dados do sinal.connection— Um ponteiro para ootc_connectioninstância que identifica o cliente que enviou o sinal.
Observe que você pode usar um Chamada à API REST para enviar um sinal a partir do seu servidor, em vez de a partir de um cliente conectado à sessão. Nesse caso, o connection parâmetro do on_signal_received() está definido como null.
Impedir que sinais sejam enviados durante a reconexão automática
Os clientes tentarão se reconectar automaticamente a uma sessão da qual tenham se desconectado inesperadamente (por exemplo, devido a uma queda na conectividade de rede). Por padrão, quaisquer sinais que você enviar enquanto o cliente estiver temporariamente desconectado de uma sessão são colocados em fila e enviados quando (e se) ele se reconectar com sucesso. Você pode definir o retryAfterReconnect) membro do otc_signal_options estrutura que você passa para a otc_session_send_signal_with_options() função ou o otc_session_send_signal_to_connection_with_options() função para false para evitar que os sinais fiquem em fila enquanto o cliente estiver desconectado. Para obter mais informações, consulte Reconexão automática.