sgcHTTP: componenti HTTP/2, gRPC e Google Cloud per Delphi e C++ Builder
Prodotto autonomo HTTP/2, gRPC e Google Cloud

sgcHTTP: componenti HTTP/2, gRPC e Google Cloud per Delphi e C++ Builder

Cinque componenti client coprono tre compiti. TsgcHTTP2Client parla HTTP/2 con stream multiplati su un'unica connessione TLS e compressione degli header HPACK. TsgcGRPCClient è un client gRPC costruito sopra di esso, per chiamate Protocol Buffers unarie e in streaming. Altre tre classi raggiungono Google Cloud su HTTPS puro: Pub/Sub, Calendar e Firebase Cloud Messaging. sgcHTTP è autonomo, include il runtime sgcWebSockets Core su cui sono costruiti tutti e cinque.

Codice sorgente completo
Da Delphi 7 a 13 e C++ Builder
Runtime incluso sgcWebSockets Core Il runtime HTTP, TLS e JSON sotto ogni client
HTTP/2 TsgcHTTP2Client
gRPC TsgcGRPCClient
2 Componenti nella palette Client HTTP/2 e client gRPC, una sola pagina nella palette
5 Classi client totali HTTP/2, gRPC e tre client Google Cloud
3 Servizi Google Cloud Pub/Sub, Calendar e Firebase Cloud Messaging
100% Codice sorgente incluso Tutti e cinque i client e il runtime Core incluso
12 Mesi di aggiornamenti Ogni versione pubblicata mentre la licenza è attiva

Due cose che vale la pena sapere subito

Cosa richiede sgcHTTP da te, e cosa no. Entrambe le risposte sono brevi.

sgcHTTP è autosufficiente

Autonomo, include il runtime sgcWebSockets Core: lo stack client HTTP/TLS con cui ogni componente invia le proprie richieste, e lo strato JSON che decodifica le risposte di Google Cloud. Un solo SKU, un solo installer.

Il codice sorgente completo è incluso in ogni licenza, così tutti e cinque i client e il runtime sotto di loro si possono seguire passo passo nel tuo debugger invece di sparire dentro un binario.

Componente aggiuntivo richiesto per due su cinque

HTTP/2 e gRPC richiedono sgcCustomIndy

HTTP/2 negozia il protocollo h2 con ALPN durante l'handshake TLS, e la libreria Indy standard inclusa in RAD Studio non supporta ALPN. Il client HTTP/2 e il client gRPC di sgcHTTP sono costruiti su sgcCustomIndy, che viene aggiunto al tuo carrello automaticamente quando ordini sgcHTTP. Possiedi già una licenza? Rimuovilo al pagamento.

I tre client Google Cloud, Pub/Sub, Calendar e Firebase Cloud Messaging, sono HTTPS puro. Girano sul solo runtime Core e non richiedono affatto sgcCustomIndy.

Due componenti nella palette, tre client Google Cloud

Il client HTTP/2 e il client gRPC sono componenti non visuali sulla pagina della palette SGC HTTP, dichiarati nell'unità sgcHTTP. Mettine uno su una form o crealo da codice, imposta le opzioni di connessione, aggancia gli eventi, poi chiama i metodi di richiesta tipizzati. I tre client Google Cloud vivono nella stessa unità come classi solo-codice, non c'è nulla da mettere su una form: creane una, imposta GoogleCloudOptions, e chiama i suoi metodi direttamente.

HTTP/21 componente

Stream multiplati su un'unica connessione TLS

TsgcHTTP2Client parla HTTP/2 (RFC 9113): più richieste condividono un'unica connessione TCP come stream indipendenti, così una risposta lenta non blocca le altre dietro di essa. Gli header sono compressi con HPACK, e il protocollo h2 viene negoziato durante l'handshake TLS tramite ALPN, il motivo per cui il componente è costruito su sgcCustomIndy invece che sulla libreria Indy standard. Ogni verbo è coperto, Connect, Get, Post, Put, Patch, Delete e Options, ciascuno con una chiamata sincrona e un gemello Async. Gli eventi mostrano il ciclo di vita della connessione: OnHTTP2Connect, OnHTTP2Response, OnHTTP2ResponseFragment per i corpi a blocchi, OnHTTP2PushPromise per il server push, OnHTTP2GoAway e OnHTTP2Disconnect. HTTP2Options configura il frame di impostazioni locale, e TLSOptions e Authentication arrivano dal resto dello stack sgc HTTP.

TsgcHTTP2Client Richiede sgcCustomIndy
gRPC1 componente

RPC unari e in streaming sul client HTTP/2

TsgcGRPCClient è costruito sul client HTTP/2, quindi eredita la connessione multiplata e aggiunge sopra il formato sul filo di gRPC: messaggi Protocol Buffers con prefisso di lunghezza su stream HTTP/2. Call e CallAsync coprono le RPC unarie, ServerStreamingCall gestisce uno stream di risposte per una richiesta, e OpenClientStream/SendStreamMessage/CloseClientStream più OpenBidiStream/SendBidiMessage/CloseBidiStream coprono le RPC in streaming lato client e bidirezionale. OnGRPCResponse, OnGRPCStreamMessage e OnGRPCStreamEnd consegnano il traffico, e RetryPolicy, Interceptors e ServiceConfig aggiungono logica di retry, logica trasversale e configurazione del servizio senza toccare i punti di chiamata. Come il client HTTP/2 su cui è costruito, richiede sgcCustomIndy per ALPN.

TsgcGRPCClient Richiede sgcCustomIndy
Google Cloud3 classi

Pub/Sub, Calendar e notifiche push, HTTPS puro

Altre tre classi raggiungono i servizi Google Cloud su HTTPS puro, autenticate con un service account Google, e nessuna di loro richiede sgcCustomIndy. TsgcHTTPGoogleCloud_PubSub_Client pubblica e preleva messaggi e gestisce topic, subscription e snapshot: Publish, Pull, Acknowledge, CreateTopic, CreateSubscription e il resto della superficie REST di Pub/Sub. TsgcHTTPGoogleCloud_Calendar_Client avvolge la Google Calendar API v3: NewCalendar, NewEvent, LoadEvents e LoadCalendars, con gli eventi OnGetCalendar e OnGetCalendarEvent per la sincronizzazione. TsgcHTTPGoogleCloud_FCM_Client invia un payload di notifica push a un progetto Firebase con una sola chiamata, SendMessage. Tutte e tre sono classi solo-codice: creane una, imposta GoogleCloudOptions, chiama i metodi.

TsgcHTTPGoogleCloud_PubSub_Client TsgcHTTPGoogleCloud_Calendar_Client TsgcHTTPGoogleCloud_FCM_Client

Due dipendenze, non cinque

Le cinque classi si dividono nettamente in base a cosa richiedono sotto. HTTP/2 e gRPC richiedono ALPN, il che significa sgcCustomIndy. Google Cloud non richiede altro che HTTPS e un service account, che il runtime Core incluso già fornisce.

HTTP/2 richiede ALPN, quindi richiede sgcCustomIndy

L'Application-Layer Protocol Negotiation sceglie h2 durante l'handshake TLS, e la libreria Indy standard inclusa in RAD Studio non ha supporto ALPN. TsgcHTTP2Client è costruito invece su sgcCustomIndy, la build Indy personalizzata di eSeGeCe.

gRPC è Protocol Buffers a bordo del client HTTP/2

TsgcGRPCClient non apre una propria connessione, la sua proprietà Client è un TsgcHTTP2Client. Le chiamate unarie, server-streaming, client-streaming e bidirezionali viaggiano tutte come stream HTTP/2 sotto.

Google Cloud è HTTPS più un service account

I tre client Google Cloud si autenticano con GoogleCloudOptions.JWT, il project id, l'email client e la chiave privata di un service account Google, e chiamano le API REST sullo stack HTTPS puro del runtime Core. OnAuthToken e OnAuthTokenError mostrano lo scambio del token.

Il runtime Core è nella confezione

Autonomo, include il runtime sgcWebSockets Core. Contribuisce lo stack client HTTP/TLS attraverso cui chiama ognuno dei cinque client, e il suo codice sorgente completo fa parte della confezione come tutto il resto.

HTTP/2 e gRPC, fianco a fianco

Entrambi i componenti sono dichiarati nell'unità sgcHTTP, e TsgcGRPCClient porta la propria connessione HTTP/2 attraverso la sua proprietà Client. Lo stesso codice compila in Delphi 7-13 e in C++ Builder.

uses
  sgcHTTP;

var
  HTTP2: TsgcHTTP2Client;
  GRPC: TsgcGRPCClient;
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');

  // 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.HTTP2Response(Sender: TObject;
  const Connection: TsgcHTTP2ConnectionClient;
  const Request: TsgcHTTP2RequestProperty;
  const Response: TsgcHTTP2ResponseProperty);
begin
  Memo1.Lines.Add(Response.DataString);
end;

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

// HTTP/2: multiplexed requests over one TLS connection
TsgcHTTP2Client *HTTP2 = new TsgcHTTP2Client(this);
HTTP2->Host = "https://api.example.com";
HTTP2->OnHTTP2Response = HTTP2Response;
HTTP2->Active = true;

HTTP2->GetAsync("/v1/status");

// gRPC: built on the HTTP/2 client, unary and streaming RPC
TsgcGRPCClient *GRPC = new TsgcGRPCClient(this);
GRPC->Client->Host = "https://grpc.example.com";
GRPC->OnGRPCResponse = GRPCResponse;

GRPC->CallAsync("example.OrderService", "GetOrder", RequestBytes);

void __fastcall TForm1::HTTP2Response(TObject *Sender,
    const TsgcHTTP2ConnectionClient* Connection,
    const TsgcHTTP2RequestProperty* Request,
    const TsgcHTTP2ResponseProperty* Response)
{
  Memo1->Lines->Add(Response->DataString);
}

void __fastcall TForm1::GRPCResponse(TObject *Sender,
    const TsgcGRPCResponse* aResponse)
{
  Memo1->Lines->Add(aResponse->DataString);
}

Una dipendenza per due client, nessuna per tre

Il client HTTP/2 e il client gRPC si basano su sgcCustomIndy, che copre lo stesso intervallo di piattaforme di sgcWebSockets stesso. I client Google Cloud sono HTTPS puro, quindi girano ovunque giri il runtime Core.

TsgcHTTP2Client e TsgcGRPCClient Costruiti su sgcCustomIndy per ALPN
Windows Win32 Windows Win64 Linux64 macOS iOS Android
Client Google Cloud HTTPS puro, sgcCustomIndy non richiesto
Windows Win32 Windows Win64 Linux64 macOS iOS Android
Supporto IDE Un solo albero dei sorgenti, package di design-time per ogni versione
Da Delphi 7 a 13 C++ Builder
Installer di prova La versione di prova All-Access di sgcWebSockets include i componenti sgcHTTP
Un solo download, tutte e cinque le classi

Scarica l'installer di prova →

Un package autonomo

sgcHTTP viene concesso in licenza da solo, a partire da €249 per un singolo sviluppatore. Tutte le licenze includono il codice sorgente completo, 1 anno di aggiornamenti e uno sconto sul rinnovo dal 50% al 70%: il 50% se rinnovi un pacchetto, il 60% con due, il 70% con tre o più. sgcAI, sgcMQ, sgcSocial, sgcCustomIndy, sgcAuth e sgcHTTP contano ciascuno come un pacchetto. sgcHTTP è incluso anche nel bundle All-Access.

sgcHTTP

€249

Licenze Single, Team e Site disponibili.

  • Client HTTP/2 con multiplexing e HPACK
  • Client gRPC, RPC unarie e in streaming
  • Client Google Cloud Pub/Sub, Calendar e FCM
  • Runtime sgcWebSockets Core incluso
  • Da Delphi 7 a 13 e C++ Builder
  • Codice sorgente completo
  • 1 anno di aggiornamenti

HTTP/2 e gRPC richiedono il componente aggiuntivo sgcCustomIndy. Il pagamento lo aggiunge automaticamente, e puoi rimuoverlo se lo possiedi già.

Il pagamento elenca tre voci: il diritto d'uso del runtime sgcWebSockets Core, addebitato a zero, il pacchetto sgcHTTP stesso, e il componente aggiuntivo sgcCustomIndy, aggiunto automaticamente. Tutti i dettagli sui prezzi.

3,000+Developers
20+Years
761+Components
30+API Integrations
5Platforms
Garanzia soddisfatti o rimborsati di 30 giorniNon sei soddisfatto? Richiedi un rimborso completo entro 30 giorni dall'acquisto. Vedi la politica di rimborso

HTTP moderno, gRPC e Google Cloud da codice nativo

HTTP/2 multiplato, gRPC in streaming e tre client Google Cloud, con il runtime incluso e il codice sorgente completo nella confezione. Scarica l'installer di prova All-Access e prova subito tutti e cinque i componenti.

Altri prodotti di eSeGeCe

Abbina sgcHTTP alle nostre altre librerie di componenti per Delphi, C++ Builder e .NET.

sgcCustomIndy

La libreria Indy personalizzata su cui sono costruiti i client HTTP/2 e gRPC di sgcHTTP: ALPN, TLS 1.3 e linking statico di OpenSSL.

Scopri di più →

sgcWebSockets

La libreria completa: client e server WebSocket, HTTP/2, gRPC, componenti IoT, P2P e AI. La sua edizione Enterprise include anche gRPC.

Scopri di più →

sgcAI

Componenti AI, LLM e MCP. Un solo componente di chat raggiunge OpenAI, Anthropic, Gemini, DeepSeek, Ollama, Grok e Mistral.

Scopri di più →

sgcMQ

Componenti client nativi MQTT 3.1.1/5.0, AMQP 0.9.1, AMQP 1.0, Apache Kafka e STOMP, con il runtime Core incluso.

Scopri di più →

sgcSocial

Componenti client WhatsApp Business Cloud API e Telegram TDLib, con il runtime Core incluso.

Scopri di più →

sgcQUIC

Componenti client e server QUIC (RFC 9000) e HTTP/3 (RFC 9114) costruiti sul motore QUIC nativo di OpenSSL 3.5.

Scopri di più →