TsgcWSPServer_WebRTC › Olaylar › OnBeforeSubscription
Bir peer bir sinyalleşme kanalına katılmak istediğinde tetiklenir, sunucuya aboneliği kabul etme veya reddetme şansı verir.
property OnBeforeSubscription: TsgcWSBeforeSubscriptionEvent;
// TsgcWSBeforeSubscriptionEvent = procedure(Connection: TsgcWSConnection; const Subscription: String; var Accept: Boolean) of object
—
Subscription, peer'ın sgc@subscribe zarfıyla gönderdiği kanal (veya oda) adıdır — SDP/ICE relay'in çalışması için ikinci peer'ın kullanması gereken aynı dize. Accept varsayılan olarak True'dur; SUBSCRIBE'ı sessizce düşürmek için False olarak ayarlayın, böylece peer asla kanala eklenmez, bu da tipik erişim kontrolü kancasıdır (ACL, davet token'ı, kapasite sınırı). Accept True kaldığında bileşen, bağlantıyı abone tablosuna ekler, istemciye döndürülen abone sayacını artırır ve OnSubscription'ı tetikler.
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;