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
- 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 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.