TsgcWSPServer_WebRTCEvents › OnBeforeSubscription

OnBeforeSubscription Event

Disparado quando um peer solicita ingressar em um canal de sinalização, dando ao servidor a chance de aceitar ou rejeitar a assinatura.

Sintaxe

property OnBeforeSubscription: TsgcWSBeforeSubscriptionEvent;
// TsgcWSBeforeSubscriptionEvent = procedure(Connection: TsgcWSConnection; const Subscription: String; var Accept: Boolean) of object

Valor Padrão

Observações

Subscription é o nome do canal (ou sala) que o peer enviou com seu envelope sgc@subscribe — a mesma string que o segundo peer deve usar para que o relay de SDP/ICE funcione. Accept é True por padrão; defina-o como False para descartar o SUBSCRIBE silenciosamente, de modo que o peer nunca seja adicionado ao canal, que é o gancho típico de controle de acesso (ACL, token de convite, limite de capacidade). Quando Accept permanece True, o componente adiciona a conexão à tabela de assinantes, incrementa o contador de assinantes retornado ao cliente e dispara OnSubscription.

Exemplo


procedure TForm1.WebRTCServerBeforeSubscription(Connection: TsgcWSConnection;
  const Subscription: String; var Accept: Boolean);
begin
  // cap rooms at two peers so sessions are strictly one-to-one
  Accept := WebRTCSrv.WebRTCSubscriptions.IndexOfName(
    WebRTCSrv.Guid + '_' + Subscription) = -1;
  Memo1.Lines.Add(Format('[%s] SUBSCRIBE %s -> %s',
    [Connection.Guid, Subscription, BoolToStr(Accept, True)]));
end;

Voltar para Eventos