Sinalização

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

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 de cliente incluem métodos para enviar sinais aos clientes conectados a uma sessão. Eles também incluem eventos que são acionados quando um sinal é recebido.

Veja o tutoriais sobre sinalização para aprender a enviar e receber sinais. Você também pode usar o API REST 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 enviadas no sinal. Uma sequência de caracteres. O comprimento máximo é de 128 bytes, e ela deve conter apenas letras (A-Z e a-z), números (0-9), '-', '_' e '~'.
  • type — Um campo secundário que você pode usar para agrupar e filtrar sinais. O comprimento máximo é de 8 kb.

Um cliente também pode enviar um sinal sem data ou type definido. Esse sinal de ping identificará apenas o remetente do sinal. O sinal também inclui uma propriedade que identifica o cliente que o enviou. É possível 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, o Client SDK 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 o 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 de vídeo da Vonage 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 de vídeo da Vonage. 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 os sinais enviados por um cliente de sinal, mas não entre todos os clientes. Por exemplo, considere uma sessão na qual cliente A envia os sinais 1 e 2 a todos os clientes da sessão, e 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 do cliente A os sinais serão recebidos antes de do cliente B sinais.

O recurso de sinalização está disponível para todos os clientes de vídeo da Vonage. A sinalização não exigir que o Roteador de mídia — está disponível para todos os tipos de sessão, ou seja: roteadas ou retransmitidas.

Veja o tutoriais sobre sinalização para aprender a enviar e receber sinais.