TsgcWSPServer_WAMPEventos › OnBeforeSubscription

OnBeforeSubscription Evento

Se activa cuando un cliente envía una trama SUBSCRIBE, 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 la URI del tema al que el cliente solicita unirse (ya resuelta frente a cualquier prefijo registrado anteriormente con OnPrefix). Accept está establecido en True de forma predeterminada, lo que significa que el broker registrará al cliente como suscriptor y comenzará a reenviar mensajes EVENT. Establézcalo en False para descartar silenciosamente el SUBSCRIBE: el broker no añadirá al cliente al tema y no se enviará ninguna confirmación (WAMP v1 no dispone de trama SUBSCRIBED). El uso típico es el control de acceso: compruebe la identidad autenticada adjunta a Connection frente a una ACL, política de espacio de nombres o límite de velocidad.

Ejemplo


procedure TForm1.WAMPServerBeforeSubscription(Connection: TsgcWSConnection;
  const Subscription: String; var Accept: Boolean);
begin
  // allow public topics, reject admin channels for non-admin clients
  Accept := not StartsText('http://example.com/admin/', Subscription);
  Memo1.Lines.Add(Format('[%s] SUBSCRIBE %s -> %s',
    [Connection.Guid, Subscription, BoolToStr(Accept, True)]));
end;

Volver a Eventos