TsgcWSPServer_WebRTCEventi › OnBeforeSubscription

OnBeforeSubscription Evento

Viene generato quando un peer chiede di entrare in un canale di segnalazione, dando al server la possibilità di accettare o rifiutare la sottoscrizione.

Sintassi

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

Valore predefinito

Note

Subscription è il nome del canale (o della stanza) inviato dal peer con la sua busta sgc@subscribe — la stessa stringa che il secondo peer deve utilizzare affinché il relay di SDP/ICE funzioni. Accept è True per impostazione predefinita; lo imposti su False per scartare silenziosamente il SUBSCRIBE, in modo che il peer non venga mai aggiunto al canale: si tratta del tipico hook di controllo degli accessi (ACL, token di invito, limite di capacità). Quando Accept rimane True, il componente aggiunge la connessione alla tabella dei sottoscrittori, incrementa il contatore dei sottoscrittori restituito al client e genera OnSubscription.

Esempio


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;

Torna agli Eventi