QUIC İstemcisi ve Sunucusu
TsgcQUICClient ve TsgcQUICServer ham QUIC konuşur: tek bir şifreli bağlantı üzerinde birden çok bağımsız akış, güvenilmez datagramlar ve istemcinin IP adresi oturum ortasında değiştiğinde bağlantı geçişi.
TCP artı TLS, bir yanıtın ilk baytı gelmeden önce üç gidiş-dönüş gerektirir. QUIC, taşımayı ve şifreleme el sıkışmasını tek bir adımda birleştirir; devam ettirilen bir bağlantı ise verilerini daha ilk paketle gönderebilir. sgcQUIC, Delphi, C++ Builder ve .NET'e yerleşik bir QUIC taşıması ve bunun üzerine kurulu bir HTTP/3 istemcisi ve sunucusu sağlar, OpenSSL 3.5 QUIC motoru üzerinde.
sgcQUIC kısmi bir uygulama değildir. Taşıma, çerçeveleme, başlık sıkıştırması ve WebTransport uzantısının tamamı, yerleşik OpenSSL 3.5 QUIC motoru üzerinde kapsanır.
Delphi, C++ Builder ve .NET için ham bir QUIC taşıması ve bir HTTP/3 istemcisi ve sunucusu. Aynı yerleşik OpenSSL 3.5 QUIC motoru üzerinde, sgcWebSockets Enterprise'a bir eklenti. Tam kaynak, telifsiz dağıtım.
Kendi çerçevelemenizle çıplak bir taşıma için TsgcQUICClient ve TsgcQUICServer'ı kullanın, ya da tel formatı HTTP olduğunda doğrudan TsgcHTTP3Client ve TsgcHTTP3Server'a yönelin.
TsgcQUICClient ve TsgcQUICServer ham QUIC konuşur: tek bir şifreli bağlantı üzerinde birden çok bağımsız akış, güvenilmez datagramlar ve istemcinin IP adresi oturum ortasında değiştiğinde bağlantı geçişi.
TsgcHTTP3Client ve TsgcHTTP3Server, HTTP semantiğini üzerine katmanlar: QPACK ile sıkıştırılmış istek ve yanıt başlıkları, Alt-Svc keşfi ve HTTP/2 kodunuzun zaten kullandığı aynı metotlar ve durum kodları.
Daha önce bağlanmış bir istemci, el sıkışma tamamlanmadan, ilk isteğini daha ilk pakette gönderebilir.
Bir Bağlantı Kimliği, IP adresi değil oturumu tanımlar; böylece Wi-Fi'den mobil veriye geçen bir telefon akışlarını açık tutar.
WebTransport konuşan tarayıcı istemcileri için, tek bir Extended CONNECT isteği üzerinden çift yönlü akışlar ve güvenilmez datagramlar.
QUIC ve HTTP/3 bileşenleri için uygulamalı kılavuzlar:
Diğer her sgcWebSockets HTTP istemcisiyle aynı şekil: özellikleri ayarlayın, bir olayı işleyin, bir metodu çağırın.
uses
sgcHTTP3_Client;
var
vClient: TsgcHTTP3Client;
begin
vClient := TsgcHTTP3Client.Create(nil);
vClient.Host := 'api.example.com';
vClient.Port := 443;
vClient.OnResponse :=
procedure(Sender: TObject; const AStatus: Integer; const ABody: string)
begin
Memo1.Lines.Add(Format('%d: %s', [AStatus, ABody]));
end;
vClient.OnAltSvc :=
procedure(Sender: TObject; const AAltSvc: string)
begin
Memo1.Lines.Add('Alt-Svc: ' + AAltSvc); // h3 advertised over HTTP/2
end;
vClient.Connect;
vClient.Get('/pets/42');
end;
uses
sgcQUIC_Client;
var
vQUIC: TsgcQUICClient;
begin
vQUIC := TsgcQUICClient.Create(nil);
vQUIC.Host := 'quic.example.com';
vQUIC.Port := 4433;
vQUIC.EnableMultiStream := True;
vQUIC.OnQUICConnect :=
procedure(Sender: TObject)
var
vStreamId: Int64;
begin
vStreamId := vQUIC.OpenStream;
vQUIC.WriteData(vStreamId, 'ping');
end;
vQUIC.OnQUICStreamData :=
procedure(Sender: TObject; const AStreamId: Int64; const AData: string)
begin
Memo1.Lines.Add(Format('stream %d: %s', [AStreamId, AData]));
end;
vQUIC.Active := True;
end;
İstemci ve sunucu, her iki tarafta da aynı bağlantı, akış ve datagram modelini paylaşır. Tam özellik matrisi →
TsgcHTTP3Server, bir UDP bağlantı noktasında QUIC üzerinden HTTP/3 konuşur; mevcut bir HTTP/2 sunucusuyla TsgcHTTP3ServerBridge tarzı eşleştirme ise eski istemcilerin TCP üzerinden çalışmaya devam etmesini sağlar. Alt-Svc'yi duyurun, modern istemciler kendilerini yükseltsin.
uses
sgcHTTP3_Server;
procedure TForm1.FormCreate(Sender: TObject);
begin
FServer := TsgcHTTP3Server.Create(nil);
FServer.Port := 443;
FServer.QUICOptions.SSLOptions.CertFile := 'server.crt';
FServer.QUICOptions.SSLOptions.KeyFile := 'server.key';
// One handler for every incoming HTTP/3 request
FServer.OnH3Request :=
procedure(const Ctx: TsgcHTTP3Context)
begin
if Ctx.Path = '/pets/42' then
Ctx.RespondJSON(200, '{"name":"Rex"}')
else
Ctx.Respond(404, 'Not found');
end;
FServer.Active := True;
end;
QUIC'i sonlandıran, h3'ü müzakere eden ve her isteği tek bir işleyiciye yönlendiren, HTTP/2 sunucunuzun zaten yüklediği aynı sertifikayı kullanan tek bir Delphi bileşeni.
Sıradan bir HTTP/2 yanıtı, bir Alt-Svc: h3=":443" başlığı taşır. Bunu anlayan istemciler, bir yönlendirme veya ikinci bir alan adı olmadan, bir sonraki istekte QUIC'i açar.
Bir Extended CONNECT isteği, bir akışı WebTransport'a yükseltir ve bir tarayıcı istemcisine, sıradan HTTP/3 isteklerinin yanında çift yönlü akışlar ve datagramlar sağlar.
QUIC ve TLS 1.3 el sıkışması, OpenSSL 3.5'in kendi QUIC motoru üzerinde çalışır. Derlenecek veya paketlenecek ayrı bir QUIC kütüphanesi yoktur.
sgcQUIC, sgcWebSockets Enterprise'a bir eklentidir; bu yüzden lisans, destek kanalı ve güncelleme sıklığı zaten sahip olduklarınızla aynıdır.
sgcQUIC, Delphi, C++ Builder ve .NET için dokuz eSeGeCe bileşen kütüphanesinden biridir. Aynı kuralları paylaşırlar, tam kaynak koduyla gelirler ve telifsiz dağıtılırlar.
Ham QUIC taşıması ve WebTransport dahil bir HTTP/3 istemcisi ve sunucusu. sgcWebSockets Enterprise'a bir eklenti.
Daha fazla bilgi →WebSocket, HTTP/2, MQTT, AMQP, WebRTC, yapay zeka ve 30+ API entegrasyonu. sgcQUIC'in üzerine kurulduğu Enterprise lisansı.
Daha fazla bilgi →Bootstrap 5 ve htmx üzerinde sunucu taraflı HTML ve arayüz bileşenleri. Oluşturulan arayüzü aynı HTTP/3 taşıması üzerinden sunun.
Daha fazla bilgi →Delphi ve C++ Builder için yapay zeka, LLM ve MCP bileşenleri. Tek bir bileşenin arkasında yedi LLM sağlayıcısı, ayrıca MCP, embeddings ve konuşma. Bağımsız ürün, sgcWebSockets Core çalışma zamanı pakete dahildir.
Daha fazla bilgi →Delphi ve C++ Builder için MQTT, AMQP 0.9.1 ve 1.0, Apache Kafka ve STOMP istemci bileşenleri. Bağımsız ürün, sgcWebSockets Core çalışma zamanı pakete dahildir.
Daha fazla bilgi →Delphi ve C++ Builder için OAuth2 istemcisi, JWT istemcisi ve WebAuthn desteği. Herhangi bir OAuth2/OIDC sağlayıcısıyla oturum açın, JWT'ler üretin ve doğrulayın, yerel uygulamalara passkey kimlik doğrulaması ekleyin. Bağımsız ürün, sgcWebSockets Core çalışma zamanı pakete dahildir.
Daha fazla bilgi →Delphi ve C++ Builder için HTTP/2 istemcisi, gRPC istemcisi ve Google Cloud Pub/Sub, Calendar ve FCM istemcileri. Bağımsız ürün, sgcWebSockets Core çalışma zamanı pakete dahildir.
Daha fazla bilgi →Delphi ve C++ Builder için REST sunucusu, OpenAPI sunucusu ve OpenAPI istemci bileşenleri. Bir OpenAPI 3.x sözleşmesinden REST API'ler yayımlayın veya OpenAPI ile tanımlanmış herhangi bir API'yi kullanın. Bağımsız ürün, sgcWebSockets Core çalışma zamanı pakete dahildir.
Daha fazla bilgi →OpenAPI 3.x ayrıştırıcısı, yerel Pascal SDK üreticisi, OpenAPI sunucu bileşeni ve 1.195+ önceden oluşturulmuş bulut SDK'si.
Daha fazla bilgi →Belgeler için XAdES, PAdES, CAdES ve ASiC, kod için Authenticode, ClickOnce, NuGet ve VSIX.
Daha fazla bilgi →Delphi ve C++ Builder için Windows Hello, parmak izi sensörleri ve Windows Biometric Framework.
Daha fazla bilgi →Delphi 7'den 13'e modern TLS, IPv6 ve HTTP/2 ile güncellenmiş Indy TCP/IP bileşenleri.
Daha fazla bilgi →Fiyatlandırmayı ve sürümleri görüntüleyin Ücretsiz denemeyi indirin
Dünya çapında Delphi, C++ Builder, Lazarus ve .NET geliştiricilerinin güvendiği.
sgcWebSockets kütüphaneniz çok kullanışlı ve kurulumu kolay. İyi çalışmalarınızı sürdürün!
sgcWebSockets harika ve desteğiniz en iyisi!
Yardımınız ve desteğiniz için çok teşekkürler, bileşenlerinize bayılıyorum.