TsgcWSPServer_WebRTC › Événements › OnBeforeSubscription
Se déclenche lorsqu'un pair demande à rejoindre un canal de signalisation, donnant au serveur la chance d'accepter ou de rejeter l'abonnement.
property OnBeforeSubscription: TsgcWSBeforeSubscriptionEvent;
// TsgcWSBeforeSubscriptionEvent = procedure(Connection: TsgcWSConnection; const Subscription: String; var Accept: Boolean) of object
—
Subscription est le nom du canal (ou de la salle) que le pair a envoyé avec son enveloppe sgc@subscribe — la même chaîne que le second pair doit utiliser pour que le relais SDP/ICE fonctionne. Accept est True par défaut ; définissez-le à False pour ignorer silencieusement le SUBSCRIBE afin que le pair ne soit jamais ajouté au canal, ce qui est le point de contrôle d'accès typique (ACL, jeton d'invitation, limite de capacité). Lorsque Accept reste True, le composant ajoute la connexion à la table des abonnés, incrémente le compteur d'abonnés retourné au client et déclenche OnSubscription.
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;