eSeGeCe — komponenty komunikacyjne klasy enterprise dla Delphi i .NET
WYRÓŻNIONE · sgcHTTP

HTTP/2 i gRPC, natywnie w Delphi

Pięć komponentów klienckich pokrywa trzy zadania. TsgcHTTP2Client mówi w HTTP/2, z multipleksowanymi strumieniami przez jedno połączenie TLS i kompresją nagłówków HPACK. TsgcGRPCClient to zbudowany na nim klient gRPC, do wywołań unarnych i strumieniowych Protocol Buffers. Trzy kolejne klasy sięgają do Google Cloud przez zwykłe HTTPS: Pub/Sub, Calendar i Firebase Cloud Messaging. Samodzielnie, środowisko uruchomieniowe sgcWebSockets Core jest w zestawie.

  • 5 klas klienckich
  • HTTP/2 · gRPC · Google Cloud
  • Multipleksowane strumienie, HPACK, ALPN
  • Delphi od 7 do 13 · C++ Builder

Dwa komponenty na palecie, trzy klienty Google Cloud

sgcHTTP to pakiet samodzielny. Zawiera środowisko uruchomieniowe sgcWebSockets Core, na którym jest zbudowany, a każda licencja jest dostarczana z pełnym kodem źródłowym, więc implementacje na poziomie protokołu prześledzisz we własnym debugerze.

2 Komponenty na palecie TsgcHTTP2Client i TsgcGRPCClient, na jednej stronie palety.
5 Klas klienckich łącznie HTTP/2, gRPC oraz trzy klienty Google Cloud.
3 Usług Google Cloud Pub/Sub, Calendar i Firebase Cloud Messaging, zwykłe HTTPS.
1 Instalator samodzielny Środowisko uruchomieniowe sgcWebSockets Core i warstwa HTTP/TLS są dostarczane wewnątrz pakietu.
100% Kod źródłowy w zestawie Każda licencja niesie pełne źródło wszystkich pięciu klientów oraz dołączonego środowiska uruchomieniowego.
sgcHTTP

Komponenty klienckie HTTP/2, gRPC i Google Cloud dla Delphi i C++ Builder. Pakiet samodzielny z dołączonym środowiskiem uruchomieniowym sgcWebSockets Core, pełnym kodem źródłowym i wdrożeniem bez opłat licencyjnych.

Dwie zależności, nie pięć

Pięć klas dzieli się wyraźnie według tego, czego potrzebują pod spodem. HTTP/2 i gRPC potrzebują ALPN, co oznacza sgcCustomIndy. Google Cloud nie potrzebuje niczego poza HTTPS i kontem usługi, co dołączone środowisko uruchomieniowe Core już zapewnia.

HTTP/2

Multipleksowane strumienie przez jedno połączenie TLS

TsgcHTTP2Client mówi w HTTP/2 (RFC 9113): wiele żądań dzieli jedno połączenie TCP jako niezależne strumienie, więc jedna wolna odpowiedź nie blokuje pozostałych czekających za nią. Nagłówki są kompresowane HPACK, a protokół h2 jest negocjowany podczas uzgadniania TLS przez ALPN, co jest powodem, dla którego komponent jest zbudowany na sgcCustomIndy zamiast na standardowej bibliotece Indy. Pokryty jest każdy czasownik: Connect, Get, Post, Put, Patch, Delete i Options, każdy z wywołaniem synchronicznym i bliźniaczym Async.

Zobacz klienta HTTP/2 →
gRPC

RPC unarne i strumieniowe na kliencie HTTP/2

TsgcGRPCClient jest zbudowany na kliencie HTTP/2, więc dziedziczy połączenie multipleksowane i dokłada na nim format transmisji gRPC: wiadomości Protocol Buffers poprzedzone długością, przesyłane strumieniami HTTP/2. Call i CallAsync obsługują RPC unarne, ServerStreamingCall obsługuje strumień odpowiedzi na jedno żądanie, a OpenClientStream/OpenBidiStream obsługują RPC strumieniowane po stronie klienta oraz dwukierunkowe. RetryPolicy, Interceptors i ServiceConfig dodają zachowanie ponawiania i logikę przekrojową bez dotykania miejsc wywołań.

Zobacz klienta gRPC →
Google Cloud

Pub/Sub, Calendar i powiadomienia push, zwykłe HTTPS

Trzy kolejne klasy sięgają do Google Cloud przez zwykłe HTTPS, uwierzytelniane kontem usługi Google, i żadna z nich nie potrzebuje sgcCustomIndy: TsgcHTTPGoogleCloud_PubSub_Client, TsgcHTTPGoogleCloud_Calendar_Client i TsgcHTTPGoogleCloud_FCM_Client.

Zobacz, co potrafi →
Pełna kontrola

Server push i fragmentowane odpowiedzi

Zdarzenia ujawniają cykl życia połączenia: OnHTTP2Connect, OnHTTP2Response, OnHTTP2ResponseFragment dla treści podzielonych na fragmenty, OnHTTP2PushPromise dla server push, OnHTTP2GoAway i OnHTTP2Disconnect. Nic w cyklu życia strumienia nie jest przed tobą ukryte.

Pełny zakres HTTP/2 →
Wieloplatformowość

Jedna zależność dla dwóch klientów, żadna dla trzech

Klient HTTP/2 i klient gRPC są zbudowane na sgcCustomIndy, który obejmuje ten sam zakres platform co samo sgcWebSockets. Klienty Google Cloud to zwykłe HTTPS, więc działają wszędzie tam, gdzie działa środowisko uruchomieniowe Core. Od Delphi 7 po RAD Studio 13, także w C++ Builder.

Matryca funkcji →

Strony referencyjne każdego komponentu:

HTTP/2 i gRPC, obok siebie

Oba komponenty są zadeklarowane w module sgcHTTP, a TsgcGRPCClient niesie własne połączenie HTTP/2 przez swoją właściwość Client. Ten sam kod kompiluje się w Delphi od 7 do 13 oraz w C++ Builder.

uses
  sgcHTTP;
var
  HTTP2: TsgcHTTP2Client;
begin
  // HTTP/2: multiplexed requests over one TLS connection
  HTTP2 := TsgcHTTP2Client.Create(nil);
  HTTP2.Host := 'https://api.example.com';
  HTTP2.OnHTTP2Response := HTTP2Response;
  HTTP2.Active := True;

  HTTP2.GetAsync('/v1/status');
end;

procedure TForm1.HTTP2Response(Sender: TObject;
  const Connection: TsgcHTTP2ConnectionClient;
  const Request: TsgcHTTP2RequestProperty;
  const Response: TsgcHTTP2ResponseProperty);
begin
  Memo1.Lines.Add(Response.DataString);
end;
uses
  sgcHTTP;
var
  GRPC: TsgcGRPCClient;
begin
  // gRPC: built on the HTTP/2 client, unary and streaming RPC
  GRPC := TsgcGRPCClient.Create(nil);
  GRPC.Client.Host := 'https://grpc.example.com';
  GRPC.OnGRPCResponse := GRPCResponse;

  GRPC.CallAsync('example.OrderService', 'GetOrder', RequestBytes);
end;

procedure TForm1.GRPCResponse(Sender: TObject;
  const aResponse: TsgcGRPCResponse);
begin
  Memo1.Lines.Add(aResponse.DataString);
end;

Ten sam kształt w Object Pascalu i w C++ Builder. Pełna matryca funkcji →

Dwie rzeczy, które warto wiedzieć najpierw

Czego sgcHTTP od ciebie wymaga i czego nie potrzebuje. Obie odpowiedzi są krótkie i obie znajdziesz na tej stronie, a nie drobnym drukiem.

Zależności dla każdego klienta
klient                              wymaga sgcCustomIndy
TsgcHTTP2Client                     tak, dla ALPN
TsgcGRPCClient                      tak, korzysta z TsgcHTTP2Client
TsgcHTTPGoogleCloud_PubSub_Client   nie, zwykłe HTTPS
TsgcHTTPGoogleCloud_Calendar_Client nie, zwykłe HTTPS
TsgcHTTPGoogleCloud_FCM_Client      nie, zwykłe HTTPS

HTTP/2 negocjuje h2 z ALPN podczas uzgadniania TLS.
  Standardowa biblioteka Indy dostarczana z RAD Studio
  nie obsługuje ALPN, więc zarówno HTTP/2, jak i gRPC są
  zbudowane zamiast tego na sgcCustomIndy.

sgcHTTP jest samodzielny

Samodzielnie, środowisko uruchomieniowe sgcWebSockets Core jest w zestawie: stos klienta HTTP/TLS, przez który każdy komponent wysyła swoje żądania, oraz warstwa JSON, która dekoduje odpowiedzi Google Cloud. Jeden instalator, pełny kod źródłowy w pakiecie.

HTTP/2 i gRPC wymagają sgcCustomIndy

Negocjacja ALPN dla HTTP/2 nie jest obsługiwana przez standardową bibliotekę Indy, więc TsgcHTTP2Client i, co za tym idzie, TsgcGRPCClient są zamiast tego zbudowane na sgcCustomIndy. Jest dodawany do twojego koszyka automatycznie przy zamawianiu sgcHTTP; masz już licencję? Usuń go przy finalizacji zamówienia.

Google Cloud potrzebuje tylko HTTPS

Trzy klienty Google Cloud uwierzytelniają się identyfikatorem projektu, adresem e-mail klienta i kluczem prywatnym konta usługi Google, a następnie wywołują API REST przez zwykły stos HTTPS środowiska uruchomieniowego Core. Żadnej natywnej biblioteki, żadnego sgcCustomIndy.

Delphi i C++ Builder

sgcHTTP jest przeznaczony dla Delphi od 7 do RAD Studio 13 oraz C++ Builder. Te same komponenty znajdziesz także wewnątrz sgcWebSockets Enterprise, więc istniejąca licencja Enterprise/All-Access może już cię obejmować. Bezpłatny instalator próbny to wersja próbna sgcWebSockets All-Access, więc wszystkie pięć klas możesz wypróbować już dziś.

ALPN HPACK Protocol Buffers JWT konta usługi Pełne źródło

Każdy komponent i właściwość →

sgcHTTP implementuje opublikowane specyfikacje HTTP/2, gRPC i REST Google Cloud, zamiast opakowywać SDK dostawcy, więc strumienie, nagłówki, RPC i powiadomienia push są w pełni pierwszorzędnymi metodami i zdarzeniami, a pełny kod źródłowy oznacza, że nic pomiędzy nimi nie jest czarną skrzynką.

Dwanaście bibliotek, jedna skrzynka narzędziowa

sgcHTTP to jedna z dwunastu bibliotek komponentów eSeGeCe dla Delphi, C++ Builder i .NET. Dzielą te same konwencje, dostarczane są z pełnym kodem źródłowym i wdrażane bez opłat licencyjnych.

sgcHTTP

Klient HTTP/2, klient gRPC oraz klienty Google Cloud Pub/Sub, Calendar i FCM dla Delphi i C++ Builder. Produkt samodzielny, z dołączonym środowiskiem uruchomieniowym sgcWebSockets Core.

Dowiedz się więcej →

sgcAuth

Klient OAuth2, klient JWT i obsługa WebAuthn dla Delphi i C++ Builder. Produkt samodzielny, z dołączonym środowiskiem uruchomieniowym sgcWebSockets Core.

Dowiedz się więcej →

sgcWebSockets

WebSocket, HTTP/2, MQTT, AMQP, WebRTC, AI oraz ponad 30 integracji API dla Delphi, C++ Builder, Lazarus i .NET. Jej edycja Enterprise zawiera także gRPC.

Dowiedz się więcej →

sgcMQ

Komponenty klienckie MQTT, AMQP 0.9.1 i 1.0, Apache Kafka oraz STOMP dla Delphi i C++ Builder. Produkt samodzielny, z dołączonym środowiskiem uruchomieniowym sgcWebSockets Core.

Dowiedz się więcej →

sgcSocial

Komponenty klienckie Telegram i WhatsApp Business dla Delphi i C++ Builder. Produkt samodzielny, z dołączonym środowiskiem uruchomieniowym sgcWebSockets Core.

Dowiedz się więcej →

sgcHTML

Serwerowe komponenty HTML i UI na Bootstrap 5 i htmx dla Delphi, C++ Builder i .NET.

Dowiedz się więcej →

sgcQUIC

Surowy transport QUIC oraz klient i serwer HTTP/3, z WebTransport. Dodatek do sgcWebSockets Enterprise.

Dowiedz się więcej →

sgcAI

Komponenty AI, LLM i MCP dla Delphi oraz C++ Builder. Siedmiu dostawców LLM za jednym komponentem, a do tego MCP, embeddingi i mowa. Produkt samodzielny, z dołączonym środowiskiem uruchomieniowym sgcWebSockets Core.

Dowiedz się więcej →

sgcOpenAPI

Parser OpenAPI 3.x, natywny generator SDK w Pascalu, komponent serwera OpenAPI oraz ponad 1 195 gotowych SDK chmurowych.

Dowiedz się więcej →

sgcSign

XAdES, PAdES, CAdES i ASiC dla dokumentów, Authenticode, ClickOnce, NuGet i VSIX dla kodu.

Dowiedz się więcej →

sgcBiometrics

Windows Hello, czytniki linii papilarnych i Windows Biometric Framework dla Delphi i C++ Builder.

Dowiedz się więcej →

sgcIndy

Zaktualizowane komponenty Indy TCP/IP z nowoczesnym TLS, IPv6 i HTTP/2 od Delphi 7 do 13.

Dowiedz się więcej →

Zobacz cennik i licencje Pobierz bezpłatną wersję próbną

Co mówią programiści

Zaufali nam programiści Delphi, C++ Builder, Lazarus i .NET na całym świecie.

Wasza biblioteka sgcWebSockets jest bardzo przydatna i łatwa w konfiguracji. Tak trzymać!

Simone Moretti Programista Delphi

sgcWebSockets jest niesamowity, a wasze wsparcie jest najlepsze!

Christian Meyer Założyciel i CTO

Bardzo dziękuję za pomoc i wsparcie, uwielbiam wasze komponenty.

Mark Steinfeld CTO

Oglądasz widok HTTP/2 i gRPC eSeGeCe.

Pokaż mi inne ujęcie →

Nowoczesne HTTP, gRPC i Google Cloud z natywnego kodu

Multipleksowane HTTP/2, strumieniowany gRPC oraz trzy klienty Google Cloud, ze środowiskiem uruchomieniowym sgcWebSockets Core w zestawie i pełnym kodem źródłowym w pakiecie.