sgcHTTPSerwer HTTP, HTTP/2i gRPC w Delphi.Google Cloud też.
Serwer HTTP i pięć komponentów klienckich. TsgcHTTPServer publikuje endpointy HTTP i pliki statyczne z Twojej własnej aplikacji. 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.
3Komponenty na palecie: serwer HTTP, klient HTTP/2 i klient gRPC
5Klas klienckich łącznie
3Usługi Google Cloud: Pub/Sub, Calendar i FCM
1Instalator samodzielny, środowisko Core w zestawie
100%Kod źródłowy w każdej licencji
Zobacz, jak działa
Zobacz sgcHTTP w dwie minuty.
Szybki start z narracją i napisami: klient HTTP/2 wysyła wiele żądań przez jedno połączenie, a następnie wywołanie gRPC jedzie tym samym transportem, wszystko z poziomu Delphi. Nic się nie pobiera, dopóki nie naciśniesz odtwarzania.
Szybki start sgcHTTP
Wywołaj endpoint HTTP/2 i wykonaj wywołanie gRPC, z poziomu Delphi.
Utwórz klienta HTTP/2Utwórz TsgcHTTP2Client, obsłuż OnHTTP2Response i wywołaj Get. Protokół h2 jest negocjowany podczas uzgadniania TLS przez ALPN.
Wiele żądań, jedno połączenieŻądania dzielą jedno połączenie TCP jako niezależne strumienie, więc jedna wolna odpowiedź nie blokuje pozostałych czekających za nią.
gRPC na tym samym transporciePrzypisz klienta HTTP/2 do klienta gRPC i wywołaj metodę według usługi i nazwy. Wiadomości jadą jako Protocol Buffers poprzedzone długością.
Cztery wzorce RPCUnarne, strumieniowanie serwera, strumieniowanie klienta i strumieniowanie dwukierunkowe, każde z własną metodą w TsgcGRPCClient.
Dwa komponenty na palecie
Klient HTTP/2 i gRPC jadący na nim.
Oba komponenty są zadeklarowane w module sgcHTTP, a TsgcGRPCClient niesie własne połączenie HTTP/2 przez swoją właściwość Client.
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. Nagłówki są kompresowane HPACK, a h2 jest negocjowany podczas uzgadniania TLS przez ALPN. Pokryty jest każdy czasownik: Get, Post, Put, Patch, Delete i Options, każdy z wywołaniem synchronicznym i bliźniaczym Async.
RPC unarne i strumieniowe na kliencie HTTP/2
TsgcGRPCClient dziedziczy połączenie multipleksowane i dokłada na nim format transmisji gRPC. Call i CallAsync obsługują RPC unarne, ServerStreamingCall obsługuje strumień odpowiedzi na jedno żądanie, a OpenClientStream i OpenBidiStream obsługują strumieniowanie po stronie klienta oraz dwukierunkowe. RetryPolicy, Interceptors i ServiceConfig dodają zachowanie ponawiania i logikę przekrojową bez dotykania miejsc wywołań.
Jeden serwer, pięć klas klienckich
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 Core już zapewnia. Serwer HTTP pochodzi z samego tego środowiska.
Serwer HTTP
TsgcHTTPServer publikuje endpointy HTTP z Twojej własnej aplikacji. Ustaw Port, obsłuż OnCommandGet, ustaw Active, a każde żądanie trafi do Twojego kodu. OnCommandOther obsługuje czasowniki takie jak PUT i DELETE. Jest dostarczany z dołączonym środowiskiem uruchomieniowym Core.
HTTP/2
TsgcHTTP2Client multipleksuje niezależne strumienie przez jedno połączenie TLS, kompresuje nagłówki HPACK i negocjuje h2 przez ALPN. Connect, Get, Post, Put, Patch, Delete i Options, synchronicznie lub Async.
gRPC
TsgcGRPCClient jedzie na kliencie HTTP/2: wiadomości Protocol Buffers poprzedzone długością w strumieniach HTTP/2, z RPC unarnymi, ze strumieniowaniem serwera, strumieniowaniem klienta i dwukierunkowymi, a także z polityką ponawiania i interceptorami.
Google Cloud, zwykłe HTTPS
TsgcHTTPGoogleCloud_PubSub_Client, TsgcHTTPGoogleCloud_Calendar_Client i TsgcHTTPGoogleCloud_FCM_Client sięgają do Pub/Sub, Calendar i Firebase Cloud Messaging, uwierzytelniane kontem usługi Google. Żaden z nich nie wymaga sgcCustomIndy.
Server push i fragmentowane odpowiedzi
Zdarzenia pokazują cykl życia połączenia: OnHTTP2Connect, OnHTTP2Response, OnHTTP2ResponseFragment dla fragmentowanych odpowiedzi, OnHTTP2PushPromise dla server push, OnHTTP2GoAway i OnHTTP2Disconnect. Nic z cyklu życia strumienia nie jest przed tobą ukryte.
Jedna zależność dla dwóch, ż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.
Pełny kod źródłowy w pudełku
Każda licencja zawiera pełny kod źródłowy serwera HTTP, wszystkich pięciu klientów oraz dołączonego środowiska uruchomieniowego, więc implementacje na poziomie protokołu możesz przejść krok po kroku we własnym debuggerze. Wdrażanie jest bez opłat licencyjnych.
Czego sgcHTTP potrzebuje od ciebie, a czego nie. Obie odpowiedzi są krótkie i obie są na tej stronie, a nie drobnym drukiem.
Zależności dla każdego klienta
klasa wymaga sgcCustomIndyTsgcHTTPServernie, jest w środowisku CoreTsgcHTTP2Clienttak, dla ALPNTsgcGRPCClienttak, jedzie na TsgcHTTP2ClientTsgcHTTPGoogleCloud_PubSub_Clientnie, zwykłe HTTPSTsgcHTTPGoogleCloud_Calendar_Clientno, plain HTTPSTsgcHTTPGoogleCloud_FCM_Clientno, plain HTTPSHTTP/2 negocjuje h2 przez 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 na sgcCustomIndy.
sgcHTTP jest samodzielny
Środowisko uruchomieniowe sgcWebSockets Core jest w zestawie: serwer HTTP, 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 nie jest obsługiwana przez standardową bibliotekę Indy, więc TsgcHTTP2Client i, co za tym idzie, TsgcGRPCClient są zbudowane na sgcCustomIndy zamiast niej. Jest zawsze dołączony przy zamówieniu sgcHTTP, a pokazana cena już go obejmuje.
Google Cloud potrzebuje tylko HTTPS
Trzej klienci Google Cloud uwierzytelniają się za pomocą identyfikatora projektu, adresu e-mail klienta i klucza prywatnego konta usługi Google oraz wywołują API REST przez zwykły stos HTTPS środowiska Core. Bez biblioteki natywnej i bez sgcCustomIndy.
Delphi i C++ Builder
sgcHTTP obsługuje Delphi 7 do RAD Studio 13 oraz C++ Builder. Te same komponenty są też w sgcWebSockets Enterprise, więc istniejąca licencja Enterprise lub All-Access może już cię obejmować. Instalator próbny to wersja próbna sgcWebSockets All-Access, więc serwer HTTP i wszystkie pięć klientów możesz wypróbować już dziś.
ALPN
HPACK
Protocol Buffers
JWT konta usługi
Pełny kod źródłowy
sgcHTTP implementuje opublikowane interfejsy HTTP/2, gRPC i REST Google Cloud, zamiast opakowywać SDK producenta, więc strumienie, nagłówki, RPC i powiadomienia push są pełnoprawnymi metodami i zdarzeniami, a pełny kod źródłowy oznacza, że nic pośrodku nie jest czarną skrzynką.
sgcHTTP zawiera środowisko uruchomieniowe sgcWebSockets Core, na którym jest zbudowany, a dodatek sgcCustomIndy potrzebny dla HTTP/2 i gRPC jest zawsze dołączony. Każda licencja zawiera pełny kod źródłowy i wdrażanie bez opłat licencyjnych.
Single
Licencja dla 1 programisty. Użycie na jednej maszynie naraz.
€398
Team
Licencje dla 2 programistów. Użycie na dwóch maszynach naraz.
€648
Site
Nieograniczona liczba programistów. Wszystkie maszyny firmy.
€1,048
Komponenty klienckie HTTP/2, gRPC i Google Cloud dla Delphi i C++ Builder, ze środowiskiem uruchomieniowym sgcWebSockets Core w zestawie. Masz już sgcWebSockets Enterprise? Te same komponenty są także w nim.
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 MorettiProgramista Delphi
sgcWebSockets jest niesamowity, a wasze wsparcie jest najlepsze!
Christian MeyerZałożyciel i CTO
Bardzo dziękuję za pomoc i wsparcie, uwielbiam wasze komponenty.
Mark SteinfeldCTO
Nowoczesne HTTP, gRPC i Google Cloud z natywnego kodu.
Serwer HTTP, multipleksowane HTTP/2, strumieniowe gRPC i trzej klienci Google Cloud, ze środowiskiem uruchomieniowym sgcWebSockets Core w zestawie i pełnym kodem źródłowym w pudełku.
sgcHTTP dzieli konwencje z pozostałymi bibliotekami komponentów eSeGeCe dla Delphi, C++ Builder i .NET. Dostarczane są z pełnym kodem źródłowym i wdrażane bez opłat licencyjnych.