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 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 o otc_session instâ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 o otc_connection instâ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.