Visão geral da sinalização

Use a API de sinalização do OpenTok para enviar texto e dados entre clientes conectados a uma sessão do OpenTok.

Essas mensagens permitem que os desenvolvedores criem um chat de texto básico, enviem instruções de um cliente para outro e criem outras experiências valiosas.

Os SDKs do cliente OpenTok incluem métodos para enviar sinais aos clientes conectados a uma sessão do OpenTok. Eles também incluem eventos que são acionados quando um sinal é recebido. Para obter mais detalhes, consulte o guia do desenvolvedor sobre sinalização para OpenTok.js, iOS, Android, e Windows, macOS, e Linux. Você também pode usar o OpenTok REST API para enviar sinais do servidor aos clientes.

Cargas úteis de sinal

Cada sinal contém data e type valores, ambos do tipo string:

  • data — Contém as principais informações a serem transmitidas no sinal

  • type — Um campo secundário que você pode usar para agrupar e filtrar sinais.

Um cliente também pode enviar um sinal sem data ou type definido. Esse sinal de ping servirá apenas para identificar o remetente do sinal.

O sinal também inclui uma propriedade que identifica o cliente que o enviou.

Você pode enviar um sinal para um cliente específico ou para todos os clientes conectados a uma sessão.

Transmissão do sinal

Para um cliente conectado a uma sessão do OpenTok, o Client SDK do OpenTok dispara um evento quando o cliente recebe um sinal. No entanto, não há nenhum evento no cliente remetente que indique que o(s) destinatário(s) recebeu(ram) um sinal. Se seu aplicativo exigir isso, você pode usar a API de sinalização para enviar confirmações de recebimento de volta ao cliente remetente.

O servidor OpenTok retransmite sinais do cliente remetente para os clientes destinatários. O sinal é enviado por meio de conexões WebSocket baseadas em TCP entre os clientes e o servidor OpenTok. A entrega do sinal não é estritamente garantida, mas a sinalização utiliza os recursos de retransmissão de pacotes inerentes ao TCP.

A ordem dos eventos de sinal é preservada para sinais enviados por um cliente de sinal, mas não entre todos os clientes. Por exemplo, considere uma sessão na qual o cliente A envia os sinais 1 e 2 a todos os clientes da sessão, e o cliente B envia os sinais 3 e 4 a todos os clientes da sessão. O sinal 1 será recebido antes do sinal 2, e o sinal 3 será recebido antes do sinal 4. Mas não há garantia de que os sinais do cliente A serão recebidos antes dos sinais do cliente B.

A sinalização está disponível para todos os clientes da OpenTok. A sinalização não exigir que o Roteador de mídia OpenTok — está disponível em todas as sessões (encaminhadas ou retransmitidas).