TsgcWSPServer_WebRTC › Events › OnBeforeSubscription
Wordt geactiveerd wanneer een peer vraagt deel te nemen aan een signalling-kanaal, waardoor de server de kans krijgt het abonnement te accepteren of te weigeren.
property OnBeforeSubscription: TsgcWSBeforeSubscriptionEvent;
// TsgcWSBeforeSubscriptionEvent = procedure(Connection: TsgcWSConnection; const Subscription: String; var Accept: Boolean) of object
—
Subscription is de kanaal- (of kamer)naam die de peer heeft verzonden met zijn sgc@subscribe-envelop — dezelfde string die de tweede peer moet gebruiken voor SDP/ICE-relay om te werken. Accept is standaard True; stel dit in op False om het SUBSCRIBE stilletjes te verwijderen zodat de peer nooit aan het kanaal wordt toegevoegd, wat de typische toegangscontrolehook is (ACL, uitnodigingstoken, capaciteitsbeperking). Wanneer Accept True blijft, voegt de component de verbinding toe aan de abonneetabel, verhoogt de abonneenteller die aan de client wordt geretourneerd en activeert 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;