TsgcQUICClient

TsgcQUICClient, bir sunucuya QUIC bağlantısı açan ve QUIC akışları üzerinden veri alışverişi yapan düşük seviyeli bir QUIC istemcisidir (RFC 9000).

Giriş

TsgcQUICClient, RFC 9000'de tanımlanan taşımayı uygulayan düşük seviyeli bir QUIC istemcisidir. Bir sunucuya QUIC bağlantısı açar ve QUIC akışları üzerinden veri alışverişi yapar; OpenSSL 3.5 veya üzeri tarafından sağlanan QUIC uygulaması üzerine kuruludur. Bu bileşeni yapılandırmak için aşağıdaki adımları izleyin:

1. TsgcQUICClient bileşeninin yeni bir örneğini oluşturun ve QUIC sunucusunun Host ve Port'unu ayarlayın.

2. OnQUICConnect olayını işleyin, Active'i True olarak ayarlayarak bağlantıyı açın ve WriteData ile veri gönderin. örnek:


    oClient := TsgcQUICClient.Create(nil);
    oClient.Host := 'www.example.com';
    oClient.Port := 443;
    oClient.SSLQUIC := True;
    oClient.OnQUICConnect := OnQUICConnectEvent;
    oClient.Active := True;

    oClient.WriteData('Hello QUIC');

    procedure OnQUICConnectEvent(Sender: TObject; const
        Connection: TsgcQUICConnectionClient);
    begin
      ShowMessage('Connected to QUIC server');
    end;

Başvuru

Temel Özellikler

NameAçıklama
ActiveUzak sunucuya olan QUIC bağlantısını açar veya kapatır.
Hostİstemcinin bağlanacağı QUIC sunucusunun IP adresi veya DNS adı.
PortQUIC sunucusuna bağlanmak için kullanılan UDP portu.
SSLQUICQUIC'in gerektirdiği TLS 1.3 güvenli katmanını etkinleştirir (varsayılan olarak etkin).
QUICOptionsQUIC taşıması için istemci taraflı ayarlama seçenekleri.

Temel Yöntemler

NameAçıklama
ConnectSunucuya olan QUIC bağlantısını açar ve kurulana ya da zaman aşımı dolana kadar bekler.
DisconnectSunucuya olan QUIC bağlantısını kapatır.
WriteDataVarsayılan QUIC akışı üzerinden sunucuya veri gönderir.
OpenStreamYeni bir QUIC akışı açar ve üzerinden veri gönderilebilmesi için döndürür.

Temel Olaylar

NameAçıklama
OnQUICConnectİstemci QUIC sunucusuna başarıyla bağlandıktan hemen sonra tetiklenir.
OnQUICDisconnectQUIC bağlantısı kapatıldığında tetiklenir.
OnQUICExceptionQUIC bağlantısında özel durum oluştuğunda tetiklenir.

Tam Örnek


oClient := TsgcQUICClient.Create(nil);
oClient.Host := 'www.example.com';
oClient.Port := 443;
oClient.SSLQUIC := True;
oClient.OnQUICConnect := OnQUICConnectEvent;
oClient.OnQUICDisconnect := OnQUICDisconnectEvent;
oClient.OnQUICException := OnQUICExceptionEvent;

if oClient.Connect then
begin
  oClient.WriteData('Hello QUIC');
  oClient.Disconnect;
end;

procedure OnQUICConnectEvent(Sender: TObject; const Connection: TsgcQUICConnectionClient);
begin
  Log('connected');
end;

procedure OnQUICDisconnectEvent(Sender: TObject; const Connection: TsgcQUICConnectionClient; const Code: Integer);
begin
  Log('disconnected, code ' + IntToStr(Code));
end;

procedure OnQUICExceptionEvent(Sender: TObject; E: Exception);
begin
  Log('error: ' + E.Message);
end;

Gereksinimler