TsgcQUICClient › Ereignisse › OnQUICConnect

OnQUICConnect Ereignis

Wird ausgelöst, sobald die QUIC-Verbindung hergestellt wurde und der Client bereit ist, Daten zu senden.

Syntax

property OnQUICConnect: TsgcQUICConnectEvent;

// TsgcQUICConnectEvent = procedure(Sender: TObject;
//   const Connection: TsgcQUICConnection) of object;

Parameter

NameTypBeschreibung
SenderTObjectDie TsgcQUICClient-Instanz, die das Ereignis ausgelöst hat.
Connectionconst TsgcQUICConnectionDie QUIC-Verbindung, die gerade hergestellt wurde. Stellt State, PMTU und DestinationConnectionId bereit. In .NET ist der Parameter ein TsgcQUICClientConnection und kann null sein.

Hinweise

OnQUICConnect wird ausgelöst, nachdem der UDP-Socket geöffnet wurde und der TLS-1.3-Handshake erfolgreich war, der Client ist also bereit zum Senden. Es ist der Punkt, an dem Connect nicht mehr blockiert und True zurückgibt, und die richtige Stelle, um mit WriteData Ihre ersten Daten zu senden oder EnableMultiStream aufzurufen, wenn Sie mehr als den Standard-Stream benötigen.

Das Ereignis wird aus dem Lese-Thread der Verbindung ausgelöst. Die Komponente setzt NotifyEvents auf neNoSync, sodass der Handler nicht im Haupt-Thread läuft: Greifen Sie daraus niemals direkt auf VCL- oder FMX-Steuerelemente zu, sondern marshallen Sie in den Haupt-Thread. In .NET berücksichtigt die Zustellung die Eigenschaft NotifyEvents, und neSynchronous postet an den erfassten Synchronisationskontext.

Der Parameter Connection ist als Basisklasse TsgcQUICConnection typisiert, nicht als clientspezifische Klasse. Geben Sie ihn nicht frei, die Komponente verwaltet seine Lebensdauer.

Beispiel


oClient.OnQUICConnect := OnQUICConnectEvent;
oClient.Connect;

procedure OnQUICConnectEvent(Sender: TObject; const Connection: TsgcQUICConnection);
begin
  Log('QUIC connected, PMTU ' + IntToStr(Connection.PMTU));
  TsgcQUICClient(Sender).WriteData(TEncoding.UTF8.GetBytes('Hello QUIC'));
end;

Zurück zu Ereignissen