TCP + TLS: üç gidiş dönüş
SYN, SYN-ACK ve ACK soketi açar. ClientHello, ServerHello ve Finished TLS'i kurar. İlk istek ancak bundan sonra çıkar.
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.
sgcWebSockets Enterprise için bir eklenti. Fiyatlandırmaya bakın →TCP üzerinde aktarım el sıkışması, TLS el sıkışması ve ilk istek birer gidiş dönüşe mal olur. QUIC üçünü tek bir değişimde taşır.
SYN, SYN-ACK ve ACK soketi açar. ClientHello, ServerHello ve Finished TLS'i kurar. İlk istek ancak bundan sonra çıkar.
QUIC, aktarım ve kripto el sıkışmasını tek bir değişimde birleştirir; böylece istek el sıkışmayla birlikte yol alır ve yanıt da onunla birlikte döner.
Daha önce bağlanmış bir istemci, el sıkışma tamamlanmadan, ilk isteğini daha ilk pakette gönderebilir.
Sesli anlatımlı, altyazılı bir hızlı başlangıç: bir HTTP/3 sunucusu ve istemcisi, ardından birden çok akışlı ham bir QUIC bağlantısı. Oynat'a basana kadar hiçbir şey indirilmez.
Delphi'den bir HTTP/3 sunucusu ve istemcisi çalıştırın ve ham bir QUIC bağlantısı açın.
Kendi çerçevelemenizle çıplak bir taşıma için TsgcQUICClient ve TsgcQUICServer'ı kullanın, ya da tel biçimi 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 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 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.
QUIC taşıma protokolü: akışlar, datagramlar, akış kontrolü ve bağlantı geçişi.
HTTP/3, HTTP/2 ile aynı istek ve yanıt semantiği, QUIC akışları üzerinden taşınır.
QPACK başlık sıkıştırması, QUIC'in sırasız akış teslimatına göre tasarlanmıştır.
HTTP/3 üzerinden WebTransport, tek bir Extended CONNECT isteğinde çift yönlü akışlar ve datagramlar.
Diğer tüm sgcWebSockets HTTP istemcileriyle aynı yapı: özellikleri ayarlayın, bir olayı işleyin, bir yöntemi çağırın. Sunucu tarafı tek bir bileşen ve tek bir işleyicidir.
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;
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;
İstemci ve sunucu, her iki tarafta da aynı bağlantı, akış ve datagram modelini paylaşır. Tam özellik matrisi →
Lisans, destek kanalı ve güncelleme sıklığı zaten sahip olduklarınızdır. Her lisans tam kaynak kodunu, bir yıllık güncellemeyi ve telifsiz dağıtımı içerir.
1 geliştirici lisansı. Aynı anda tek bir makinede kullanın.
2 geliştirici lisansı. Aynı anda iki makinede kullanın.
Sınırsız geliştirici. Tüm şirket makineleri.
sgcQUIC için, aynı siparişe ekleyebileceğiniz sgcWebSockets Enterprise gerekir. Delphi, C++ Builder ve .NET için QUIC istemcisi ve sunucusu, HTTP/3 istemcisi ve sunucusu, QPACK, Alt-Svc ve WebTransport.
Fiyatlandırmayı ve sürümleri görüntüleyinDü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.
Ham QUIC taşıması, HTTP/3 istemcisi ve sunucusu ve WebTransport, OpenSSL 3.5 QUIC motoru üzerinde. Tam kaynak, telifsiz dağıtım, sgcWebSockets Enterprise'a bir eklenti olarak.
sgcQUIC, Delphi, C++ Builder ve .NET için diğer eSeGeCe bileşen kütüphaneleriyle aynı kuralları paylaşır. Tam kaynak koduyla gelir ve telifsiz dağıtılır.
WebSocket, HTTP/2, MQTT, AMQP, WebRTC, yapay zeka ve 30+ API entegrasyonu. sgcQUIC'in üzerine kurulduğu Enterprise lisansı.
Bootstrap 5 ve htmx üzerinde sunucu taraflı HTML ve arayüz bileşenleri. Oluşturulan arayüzü aynı HTTP/3 taşıması üzerinden sunun.
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.
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.
Delphi ve C++ Builder için OAuth2 istemcisi, JWT istemcisi ve WebAuthn desteği. Bağımsız çalışır, sgcWebSockets Core çalışma zamanı dahildir.
Delphi ve C++ Builder için HTTP sunucusu, 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.
Delphi ve C++ Builder için REST sunucusu, OpenAPI sunucusu ve OpenAPI istemci bileşenleri. Bağımsız çalışır, sgcWebSockets Core çalışma zamanı dahildir.
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.
Belgeler için XAdES, PAdES, CAdES ve ASiC; kod için Authenticode, ClickOnce, NuGet ve VSIX.
PDF dosyalarını saf Object Pascal ile oluşturma, düzenleme, görüntüleme, imzalama, sansürleme ve doğrulama; dağıtılacak DLL yok. Ayrı olarak lisanslanır.
Delphi ve C++ Builder için Windows Hello, parmak izi sensörleri ve Windows Biometric Framework.
Delphi 7'den 13'e modern TLS, IPv6 ve HTTP/2 ile güncellenmiş Indy TCP/IP bileşenleri.