Sinalização — iOS (Swift)

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 OTSession signal(withType:string:connection:error:) método do objeto Session:

var error: OTError?
session.signal(withType: type, string: "hello", connection: connection, error: &error)
	
if error {
	print("signal error \(error)")
} else {
	print("signal sent)
}

O type O parâmetro é um valor de cadeia de caracteres que os clientes podem usar para filtrar quando recepção de sinais. Defina esse valor como uma string vazia caso não seja necessário definir um tipo.

O string O parâmetro é 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 OTConnection objeto correspondente a um cliente conectado à sessão à qual você deseja enviar o sinal. Você obtém referências aos objetos OTConnection no OTSessionDelegate session(_:connectionCreated:) mensagem.

O error O parâmetro é atribuído a um objeto OTError quando a chamada ao método falha. Em caso de sucesso, o parâmetro error é atribuído a nil.

Envio de um sinal para todos os clientes em uma sessão

Para enviar um sinal a clientes específicos em uma sessão, chame a função OTSession signal(withType:string:connection:error:) método do objeto OTSession:

var error: OTError?
session.signal(withType: type, string: "hello", connection: nil, error: &error)

if error {
	print("signal error \(error)")
} else {
	print("signal sent)
}

O type O parâmetro é um valor de cadeia de caracteres que os clientes podem usar para filtrar quando recepção de sinais. Defina esse valor como uma string vazia caso não seja necessário definir um tipo.

O string O parâmetro é 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 error O parâmetro é atribuído a um objeto OTError quando a chamada ao método falha. Em caso de sucesso, o parâmetro error é atribuído a nil.

Recebimento de sinais em uma sessão

Quando um sinal é enviado durante uma sessão, o OTSessionDelegate session(_:receivedSignalType:from:with:) A mensagem é enviada. O primeiro parâmetro é definido como a string que indica o tipo do sinal. O segundo parâmetro identifica o remetente do sinal. O terceiro parâmetro é a string de dados do 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 fromConnection o parâmetro 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 usar o OTSession signal(withType:string:connection:retryAfterReconnect:error:) método e definir o retryAfterReconnect parâmetro para NO para evitar que os sinais fiquem em fila enquanto o cliente estiver desconectado. Para obter mais informações, consulte Reconexão automática.