sgcHTTP: componentes de HTTP/2, gRPC y Google Cloud para Delphi y C++ Builder
Producto independiente HTTP/2, gRPC & Google Cloud

sgcHTTP: componentes de HTTP/2, gRPC y Google Cloud para Delphi y C++ Builder

Cinco componentes cliente cubren tres tareas. TsgcHTTP2Client habla HTTP/2 con streams multiplexados sobre una sola conexión TLS y compresión de cabeceras HPACK. TsgcGRPCClient es un cliente gRPC construido encima, para llamadas unarias y en streaming de Protocol Buffers. Tres clases más llegan a Google Cloud sobre HTTPS puro: Pub/Sub, Calendar y Firebase Cloud Messaging. sgcHTTP es independiente, incluye el runtime sgcWebSockets Core sobre el que están construidos los cinco.

Código fuente completo
Delphi 7 a 13 y C++ Builder
Runtime incluido sgcWebSockets Core El runtime HTTP, TLS y JSON bajo los cinco clientes
HTTP/2 TsgcHTTP2Client
gRPC TsgcGRPCClient
2 Componentes en la paleta Cliente HTTP/2 y cliente gRPC, una sola página en la paleta
5 Clases cliente en total HTTP/2, gRPC y tres clientes de Google Cloud
3 Servicios de Google Cloud Pub/Sub, Calendar y Firebase Cloud Messaging
100% Código fuente incluido Los cinco clientes y el runtime Core incluido
12 Meses de actualizaciones Cada versión publicada mientras tu licencia esté activa

Dos cosas que conviene saber primero

Qué necesita sgcHTTP de tu parte, y qué no necesita. Las dos respuestas son breves.

sgcHTTP es autocontenido

Independiente, el runtime sgcWebSockets Core viene incluido: la pila cliente HTTP/TLS por la que cada componente envía sus peticiones, y la capa JSON que decodifica las respuestas de Google Cloud. Un solo SKU, un solo instalador.

El código fuente completo se entrega con cada licencia, así que puedes recorrer paso a paso los cinco clientes y el runtime que hay debajo en tu propio depurador, en lugar de verlos desaparecer dentro de un binario.

Complemento necesario para dos de cinco

HTTP/2 y gRPC necesitan sgcCustomIndy

HTTP/2 negocia el protocolo h2 con ALPN durante el handshake TLS, y la librería Indy estándar que se instala con RAD Studio no admite ALPN. El cliente HTTP/2 y el cliente gRPC de sgcHTTP están construidos en su lugar sobre sgcCustomIndy, que se añade a tu carrito automáticamente al pedir sgcHTTP. ¿Ya tienes una licencia? Quítalo en el checkout.

Los tres clientes de Google Cloud, Pub/Sub, Calendar y Firebase Cloud Messaging, son HTTPS puro. Funcionan sobre el runtime Core sin más y no necesitan sgcCustomIndy en absoluto.

Dos componentes en la paleta, tres clientes de Google Cloud

El cliente HTTP/2 y el cliente gRPC son componentes no visuales en la página de paleta SGC HTTP, declarados en la unidad sgcHTTP. Suéltalo en un formulario o créalo por código, configura las opciones de conexión, conecta los eventos y luego llama a los métodos de petición tipados. Los tres clientes de Google Cloud viven en la misma unidad como clases solo de código, no hay nada que soltar en un formulario: crea uno, configura GoogleCloudOptions y llama a sus métodos directamente.

HTTP/21 componente

Streams multiplexados sobre una sola conexión TLS

TsgcHTTP2Client habla HTTP/2 (RFC 9113): varias peticiones comparten una sola conexión TCP como streams independientes, así que una respuesta lenta no bloquea a las demás que van detrás. Las cabeceras se comprimen con HPACK, y el protocolo h2 se negocia durante el handshake TLS mediante ALPN, la razón por la que el componente está construido sobre sgcCustomIndy en lugar de la librería Indy estándar. Se cubren todos los verbos, Connect, Get, Post, Put, Patch, Delete y Options, cada uno con una llamada síncrona y un gemelo Async. Los eventos exponen el ciclo de vida de la conexión: OnHTTP2Connect, OnHTTP2Response, OnHTTP2ResponseFragment para cuerpos fragmentados, OnHTTP2PushPromise para el server push, OnHTTP2GoAway y OnHTTP2Disconnect. HTTP2Options configura el frame de settings local, y TLSOptions y Authentication se heredan del resto de la pila HTTP de sgc.

TsgcHTTP2Client Requiere sgcCustomIndy
gRPC1 componente

RPC unario y en streaming sobre el cliente HTTP/2

TsgcGRPCClient está construido sobre el cliente HTTP/2, así que hereda la conexión multiplexada y añade encima el formato de red de gRPC: mensajes Protocol Buffers con prefijo de longitud sobre streams HTTP/2. Call y CallAsync cubren las RPC unarias, ServerStreamingCall gestiona un stream de respuestas para una petición, y OpenClientStream/SendStreamMessage/CloseClientStream junto con OpenBidiStream/SendBidiMessage/CloseBidiStream cubren las RPC de streaming de cliente y bidireccional. OnGRPCResponse, OnGRPCStreamMessage y OnGRPCStreamEnd entregan el tráfico, y RetryPolicy, Interceptors y ServiceConfig añaden comportamiento de reintento, lógica transversal y configuración del servicio sin tocar los puntos de llamada. Igual que el cliente HTTP/2 sobre el que está construido, necesita sgcCustomIndy para ALPN.

TsgcGRPCClient Requiere sgcCustomIndy
Google Cloud3 clases

Pub/Sub, Calendar y notificaciones push, HTTPS puro

Tres clases más llegan a los servicios de Google Cloud sobre HTTPS puro, autenticadas con una cuenta de servicio de Google, y ninguna necesita sgcCustomIndy. TsgcHTTPGoogleCloud_PubSub_Client publica y extrae mensajes y gestiona topics, suscripciones y snapshots: Publish, Pull, Acknowledge, CreateTopic, CreateSubscription y el resto de la superficie REST de Pub/Sub. TsgcHTTPGoogleCloud_Calendar_Client envuelve la Google Calendar API v3: NewCalendar, NewEvent, LoadEvents y LoadCalendars, con los eventos OnGetCalendar y OnGetCalendarEvent para la sincronización. TsgcHTTPGoogleCloud_FCM_Client envía un payload de notificación push a un proyecto de Firebase con una sola llamada, SendMessage. Las tres son clases solo de código: crea una, configura GoogleCloudOptions y llama a sus métodos.

TsgcHTTPGoogleCloud_PubSub_Client TsgcHTTPGoogleCloud_Calendar_Client TsgcHTTPGoogleCloud_FCM_Client

Dos dependencias, no cinco

Las cinco clases se dividen claramente según lo que necesitan por debajo. HTTP/2 y gRPC necesitan ALPN, lo que significa sgcCustomIndy. Google Cloud no necesita nada más allá de HTTPS y una cuenta de servicio, algo que el runtime Core incluido ya proporciona.

HTTP/2 necesita ALPN, así que necesita sgcCustomIndy

Application-Layer Protocol Negotiation elige h2 durante el handshake TLS, y la librería Indy estándar que se instala con RAD Studio no admite ALPN. TsgcHTTP2Client está construido en su lugar sobre sgcCustomIndy, la librería Indy personalizada de eSeGeCe.

gRPC es Protocol Buffers viajando sobre el cliente HTTP/2

TsgcGRPCClient no abre su propia conexión, su propiedad Client es un TsgcHTTP2Client. Las llamadas unarias, de streaming de servidor, de streaming de cliente y bidireccionales viajan todas como streams HTTP/2 por debajo.

Google Cloud es HTTPS más una cuenta de servicio

Los tres clientes de Google Cloud se autentican con GoogleCloudOptions.JWT, el project id, el client email y la private key de una cuenta de servicio de Google, y llaman a las API REST sobre la pila HTTPS pura del runtime Core. OnAuthToken y OnAuthTokenError exponen el intercambio de tokens.

El runtime Core viene en la caja

Independiente, el runtime sgcWebSockets Core viene incluido. Aporta la pila cliente HTTP/TLS por la que llaman los cinco clientes, y su código fuente completo forma parte del paquete como todo lo demás.

HTTP/2 y gRPC, lado a lado

Los dos componentes están declarados en la unidad sgcHTTP, y TsgcGRPCClient lleva su propia conexión HTTP/2 a través de su propiedad Client. El mismo código compila en Delphi 7 a 13 y en 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 dependencia para dos clientes, ninguna para tres

El cliente HTTP/2 y el cliente gRPC se construyen sobre sgcCustomIndy, que cubre el mismo rango de plataformas que el propio sgcWebSockets. Los clientes de Google Cloud son HTTPS puro, así que se ejecutan en cualquier lugar donde lo haga el runtime Core.

TsgcHTTP2Client y TsgcGRPCClient Construidos sobre sgcCustomIndy para ALPN
Windows Win32 Windows Win64 Linux64 macOS iOS Android
Clientes de Google Cloud HTTPS puro, no necesita sgcCustomIndy
Windows Win32 Windows Win64 Linux64 macOS iOS Android
Soporte de IDE Un único árbol de código, paquetes de diseño por versión
Delphi 7 a 13 C++ Builder
Instalador de prueba La prueba All-Access de sgcWebSockets incluye los componentes de sgcHTTP
Una sola descarga, las cinco clases

Descargar el instalador de prueba →

Un paquete independiente

sgcHTTP se licencia por separado, desde €249 para un solo desarrollador. Todas las licencias incluyen código fuente completo, 1 año de actualizaciones y un descuento de renovación del 50% al 70%: un 50% al renovar un pack, un 60% con dos y un 70% con tres o más. sgcAI, sgcMQ, sgcSocial, sgcCustomIndy, sgcAuth y sgcHTTP cuentan cada uno como un pack. sgcHTTP también está incluido en el paquete All-Access.

sgcHTTP

€249

Disponible en licencias Single, Team y Site.

  • Cliente HTTP/2 con multiplexación y HPACK
  • Cliente gRPC, RPC unario y en streaming
  • Clientes de Google Cloud Pub/Sub, Calendar y FCM
  • Runtime sgcWebSockets Core incluido
  • Delphi 7 a 13 y C++ Builder
  • Código fuente completo
  • 1 año de actualizaciones

HTTP/2 y gRPC necesitan el complemento sgcCustomIndy. El checkout lo añade automáticamente, y puedes quitarlo si ya tienes una licencia.

El pedido muestra tres líneas: el derecho de uso del runtime sgcWebSockets Core, que se factura a cero, el propio paquete sgcHTTP, y el complemento sgcCustomIndy, añadido automáticamente. Todos los detalles de precios.

3,000+Developers
20+Years
761+Components
30+API Integrations
5Platforms
Garantía de devolución de 30 días¿No estás satisfecho? Solicita un reembolso completo en los 30 días posteriores a la compra. Ver política de reembolso

HTTP moderno, gRPC y Google Cloud desde código nativo

HTTP/2 multiplexado, gRPC en streaming y tres clientes de Google Cloud, con el runtime incluido y el código fuente completo en la caja. Descarga hoy mismo el instalador de prueba All-Access y prueba los cinco componentes.

Otros productos de eSeGeCe

Combina sgcHTTP con nuestras otras librerías de componentes para Delphi, C++ Builder y .NET.

sgcCustomIndy

La librería Indy personalizada sobre la que están construidos los clientes HTTP/2 y gRPC de sgcHTTP: ALPN, TLS 1.3 y enlazado estático de OpenSSL.

Más información →

sgcWebSockets

La librería completa: clientes y servidores WebSocket, HTTP/2, gRPC, IoT, P2P y componentes de IA. Su edición Enterprise también incluye gRPC.

Más información →

sgcAI

Componentes de IA, LLM y MCP. Un solo componente de chat llega a OpenAI, Anthropic, Gemini, DeepSeek, Ollama, Grok y Mistral.

Más información →

sgcMQ

Componentes cliente nativos de MQTT 3.1.1/5.0, AMQP 0.9.1, AMQP 1.0, Apache Kafka y STOMP, con el runtime Core incluido.

Más información →

sgcSocial

Componentes cliente de WhatsApp Business Cloud API y Telegram TDLib, con el runtime Core incluido.

Más información →

sgcQUIC

Componentes cliente y servidor de QUIC (RFC 9000) y HTTP/3 (RFC 9114) construidos sobre el motor QUIC nativo de OpenSSL 3.5.

Más información →