TsgcWSPServer_WebRTCZdarzenia › OnBeforeSubscription

OnBeforeSubscription Zdarzenie

Wywoływane, gdy peer prosi o dołączenie do kanału sygnalizacyjnego, dając serwerowi możliwość zaakceptowania lub odrzucenia subskrypcji.

Składnia

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

Wartość domyślna

Uwagi

Subscription to nazwa kanału (lub pokoju) przesłana przez węzeł z kopertą sgc@subscribe — ten sam ciąg, którego musi użyć drugi węzeł, aby przekazywanie SDP/ICE działało. Accept domyślnie ma wartość True; ustawienie na False powoduje ciche odrzucenie SUBSCRIBE, przez co węzeł nigdy nie zostanie dodany do kanału — jest to typowy punkt kontroli dostępu (ACL, token zaproszenia, limit pojemności). Gdy Accept pozostaje True, komponent dodaje połączenie do tabeli subskrybentów, zwiększa licznik subskrybentów zwracany klientowi i wywołuje OnSubscription.

Przykład


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;

Powrót do Zdarzeń