Sinalização — iOS
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
- Envio de um sinal para todos os clientes 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 [OTSession signalWithType:data:connection:error:] método do objeto Session:
OTError* error = nil;
[session signalWithType:type string:@"hello" connection:_connection error:&error];
if (error) {
NSLog(@"signal error %@", error);
} else {
NSLog(@"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 signalWithType:string:connection:error:] método do objeto OTSession:
OTError* error = nil;
[session signalWithType:type string:@"hello" connection:nil error:&error)];
if (error) {
NSLog(@"signal error %@", error);
} else {
NSLog(@"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:fromConnection:withString:] 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 signalWithType: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.