TsgcWSPServer_WebRTCEventos › OnBeforeSubscription

OnBeforeSubscription Evento

Se dispara cuando un par solicita unirse a un canal de señalización, dando al servidor la oportunidad de aceptar o rechazar la suscripción.

Sintaxis

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

Valor Predeterminado

Observaciones

Subscription es el nombre del canal (o sala) que el peer envió con su envelope sgc@subscribe — la misma cadena que el segundo peer debe usar para que el relay SDP/ICE funcione. Accept es True por defecto; establézcalo en False para descartar silenciosamente el SUBSCRIBE de modo que el peer nunca se añada al canal, lo cual es el típico gancho de control de acceso (ACL, token de invitación, límite de capacidad). Cuando Accept permanece en True, el componente añade la conexión a la tabla de suscriptores, incrementa el contador de suscriptores devuelto al cliente y activa OnSubscription.

Ejemplo


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;

Volver a Eventos