eSeGeCe — Componenti di comunicazione enterprise per Delphi e .NET
IN EVIDENZA · sgcHTTP

HTTP/2 e gRPC, nativi in Delphi

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. Autonomo, include il runtime sgcWebSockets Core.

  • 5 classi client
  • HTTP/2 · gRPC · Google Cloud
  • Stream multiplati, HPACK, ALPN
  • Delphi da 7 a 13 · C++ Builder

Due componenti nella palette, tre client Google Cloud

sgcHTTP è un package autonomo. Include il runtime sgcWebSockets Core su cui è costruito, e ogni licenza viene fornita con il codice sorgente completo, così puoi seguire le implementazioni a livello di protocollo passo passo nel tuo debugger.

2 Componenti nella palette TsgcHTTP2Client e TsgcGRPCClient, su un'unica pagina della palette.
5 Classi client totali HTTP/2, gRPC e tre client Google Cloud.
3 Servizi Google Cloud Pub/Sub, Calendar e Firebase Cloud Messaging, HTTPS puro.
1 Installer autonomo Il runtime sgcWebSockets Core e il livello HTTP/TLS sono entrambi inclusi nel package.
100% Codice sorgente incluso Ogni licenza include il sorgente completo di tutti e cinque i client e del runtime incluso.
sgcHTTP

Componenti client HTTP/2, gRPC e Google Cloud per Delphi e C++ Builder. Un package autonomo con il runtime sgcWebSockets Core incluso, codice sorgente completo e distribuzione senza royalty.

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

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.

Vedi il client HTTP/2 →
gRPC

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/OpenBidiStream coprono le RPC in streaming lato client e bidirezionale. RetryPolicy, Interceptors e ServiceConfig aggiungono logica di retry e logica trasversale senza toccare i punti di chiamata.

Vedi il client gRPC →
Google Cloud

Pub/Sub, Calendar e notifiche push, HTTPS puro

Altre tre classi raggiungono Google Cloud su HTTPS puro, autenticate con un service account Google, e nessuna di loro richiede sgcCustomIndy: TsgcHTTPGoogleCloud_PubSub_Client, TsgcHTTPGoogleCloud_Calendar_Client e TsgcHTTPGoogleCloud_FCM_Client.

Scopri cosa può fare →
Via di fuga

Server push e corpi a blocchi

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. Nulla del ciclo di vita dello stream ti viene nascosto.

La superficie di HTTP/2 →
Multipiattaforma

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. Da Delphi 7 a RAD Studio 13 e su C++ Builder.

La matrice delle funzionalità →

Pagine di riferimento per ogni componente:

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 a 13 e 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;

La stessa forma in Object Pascal e in C++ Builder. La matrice completa delle funzionalità →

Due cose che vale la pena sapere subito

Cosa richiede sgcHTTP da te, e cosa no. Entrambe le risposte sono brevi, ed entrambe sono su questa pagina invece che nelle note in piccolo.

Dipendenze per client
client                              richiede sgcCustomIndy
TsgcHTTP2Client                     sì, per ALPN
TsgcGRPCClient                      sì, si basa su TsgcHTTP2Client
TsgcHTTPGoogleCloud_PubSub_Client   no, HTTPS puro
TsgcHTTPGoogleCloud_Calendar_Client no, HTTPS puro
TsgcHTTPGoogleCloud_FCM_Client      no, HTTPS puro

HTTP/2 negozia h2 con ALPN durante l'handshake TLS.
  La libreria Indy standard inclusa in RAD Studio
  non supporta ALPN, quindi sia HTTP/2 sia gRPC sono
  costruiti su sgcCustomIndy.

sgcHTTP è autonomo

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 installer, codice sorgente completo nella confezione.

HTTP/2 e gRPC richiedono sgcCustomIndy

La negoziazione ALPN di HTTP/2 non è supportata dalla libreria Indy standard, quindi TsgcHTTP2Client e, di conseguenza, TsgcGRPCClient, sono costruiti invece su sgcCustomIndy. Viene aggiunto al tuo carrello automaticamente quando ordini sgcHTTP; possiedi già una licenza? Rimuovilo al pagamento.

Google Cloud richiede solo HTTPS

I tre client Google Cloud si autenticano con 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. Nessuna libreria nativa, nessun sgcCustomIndy.

Delphi e C++ Builder

sgcHTTP supporta da Delphi 7 a RAD Studio 13 e C++ Builder. Gli stessi componenti vivono anche dentro sgcWebSockets Enterprise, quindi una licenza Enterprise/All-Access già esistente potrebbe già coprirti. L'installer della versione di prova gratuita è la prova All-Access di sgcWebSockets, quindi tutte e cinque le classi possono essere valutate fin da subito.

ALPN HPACK Protocol Buffers Service account JWT Sorgente completo

Ogni componente e proprietà →

sgcHTTP implementa le superfici pubblicate di HTTP/2, gRPC e Google Cloud REST invece di avvolgere un SDK di terze parti, quindi stream, header, RPC e notifiche push sono tutti metodi ed eventi di prima classe, e il codice sorgente completo significa che nulla nel mezzo è una scatola nera.

Dodici librerie, una sola cassetta degli attrezzi

sgcHTTP è una delle dodici librerie di componenti eSeGeCe per Delphi, C++ Builder e .NET. Condividono le convenzioni, vengono fornite con il sorgente completo e si distribuiscono senza royalty.

sgcHTTP

Client HTTP/2, client gRPC e client Google Cloud Pub/Sub, Calendar e FCM per Delphi e C++ Builder. Autonomo, con il runtime sgcWebSockets Core incluso.

Scopri di più →

sgcAuth

Client OAuth2, client JWT e supporto WebAuthn per Delphi e C++ Builder. Autonomo, con il runtime sgcWebSockets Core incluso.

Scopri di più →

sgcWebSockets

WebSocket, HTTP/2, MQTT, AMQP, WebRTC, IA e oltre 30 integrazioni API per Delphi, C++ Builder, Lazarus e .NET. La sua edizione Enterprise include anche gRPC.

Scopri di più →

sgcMQ

Componenti client MQTT, AMQP 0.9.1 e 1.0, Apache Kafka e STOMP per Delphi e C++ Builder. Autonomo, con il runtime sgcWebSockets Core incluso.

Scopri di più →

sgcSocial

Componenti client Telegram e WhatsApp Business per Delphi e C++ Builder. Autonomo, con il runtime sgcWebSockets Core incluso.

Scopri di più →

sgcHTML

Componenti HTML e UI lato server su Bootstrap 5 e htmx per Delphi, C++ Builder e .NET.

Scopri di più →

sgcQUIC

Trasporto QUIC puro e un client e server HTTP/3, con WebTransport. Un componente aggiuntivo per sgcWebSockets Enterprise.

Scopri di più →

sgcAI

Componenti AI, LLM e MCP per Delphi e C++ Builder. Sette provider LLM dietro un unico componente, più MCP, embeddings e voce. Autonomo, con il runtime sgcWebSockets Core incluso.

Scopri di più →

sgcOpenAPI

Parser OpenAPI 3.x, generatore di SDK Pascal nativi, componente server OpenAPI e oltre 1.195 SDK cloud già pronti.

Scopri di più →

sgcSign

XAdES, PAdES, CAdES e ASiC per i documenti, Authenticode, ClickOnce, NuGet e VSIX per il codice.

Scopri di più →

sgcBiometrics

Windows Hello, sensori di impronte digitali e il Windows Biometric Framework per Delphi e C++ Builder.

Scopri di più →

sgcIndy

Componenti TCP/IP Indy aggiornati con TLS moderno, IPv6 e HTTP/2 per Delphi da 7 a 13.

Scopri di più →

Vedi prezzi e licenze Scarica la versione di prova

Cosa dicono gli sviluppatori

La scelta di sviluppatori Delphi, C++ Builder, Lazarus e .NET in tutto il mondo.

La vostra libreria sgcWebSockets è molto utile e semplice da configurare. Continuate così!

Simone Moretti Delphi Developer

sgcWebSockets è straordinario e il vostro supporto è il migliore!

Christian Meyer Founder & CTO

Grazie mille per il vostro aiuto e supporto, adoro i vostri componenti.

Mark Steinfeld CTO

Questa è la vista HTTP/2 e gRPC di eSeGeCe.

Mostrami un altro punto di vista →

HTTP moderno, gRPC e Google Cloud da codice nativo

HTTP/2 multiplato, gRPC in streaming e tre client Google Cloud, con il runtime sgcWebSockets Core incluso e il codice sorgente completo nella confezione.