eSeGeCe — Composants de communication d’entreprise pour Delphi & .NET
EN VEDETTE · sgcHTTP

HTTP/2 et gRPC, natifs dans Delphi

Cinq composants clients couvrent trois métiers. TsgcHTTP2Client parle HTTP/2 avec des flux multiplexés sur une seule connexion TLS et une compression d’en-têtes HPACK. TsgcGRPCClient est un client gRPC bâti par-dessus, pour les appels Protocol Buffers unaires et en streaming. Trois autres classes atteignent Google Cloud en HTTPS pur : Pub/Sub, Calendar et Firebase Cloud Messaging. Autonome, le runtime sgcWebSockets Core est inclus.

  • 5 classes clientes
  • HTTP/2 · gRPC · Google Cloud
  • Flux multiplexés, HPACK, ALPN
  • Delphi 7 à 13 · C++ Builder

Deux composants de palette, trois clients Google Cloud

sgcHTTP est un package autonome. Il embarque le runtime sgcWebSockets Core sur lequel il repose, et chaque licence est livrée avec le code source complet, si bien que les implémentations bas niveau se tracent dans ton propre débogueur.

2 Composants de palette TsgcHTTP2Client et TsgcGRPCClient, sur une seule page de palette.
5 Classes clientes au total HTTP/2, gRPC et trois clients Google Cloud.
3 Services Google Cloud Pub/Sub, Calendar et Firebase Cloud Messaging, en HTTPS pur.
1 Installateur autonome Le runtime sgcWebSockets Core et la couche HTTP/TLS sont tous deux inclus dans le package.
100% Code source inclus Chaque licence porte le code source complet des cinq clients et du runtime inclus.
sgcHTTP

Composants clients HTTP/2, gRPC et Google Cloud pour Delphi et C++ Builder. Un package autonome avec le runtime sgcWebSockets Core inclus, le code source complet, et un déploiement sans royalties.

Deux dépendances, pas cinq

Les cinq classes se répartissent nettement selon ce dont elles ont besoin en dessous. HTTP/2 et gRPC ont besoin d’ALPN, donc de sgcCustomIndy. Google Cloud n’a besoin de rien de plus que HTTPS et un compte de service, que le runtime Core inclus fournit déjà.

HTTP/2

Des flux multiplexés sur une seule connexion TLS

TsgcHTTP2Client parle HTTP/2 (RFC 9113) : plusieurs requêtes partagent une seule connexion TCP sous forme de flux indépendants, une réponse lente ne bloque donc pas les autres derrière elle. Les en-têtes sont compressés avec HPACK, et le protocole h2 est négocié pendant la poignée de main TLS via ALPN, raison pour laquelle le composant est bâti sur sgcCustomIndy plutôt que sur la bibliothèque Indy standard. Chaque verbe est couvert, Connect, Get, Post, Put, Patch, Delete et Options, chacun avec un appel synchrone et un jumeau Async.

Voir le client HTTP/2 →
gRPC

RPC unaires et en streaming, portés par HTTP/2

TsgcGRPCClient est bâti sur le client HTTP/2, il hérite donc de la connexion multiplexée et ajoute par-dessus le format de câble gRPC : des messages Protocol Buffers préfixés par leur longueur, transportés sur des flux HTTP/2. Call et CallAsync couvrent les RPC unaires, ServerStreamingCall gère un flux de réponses pour une seule requête, et OpenClientStream/OpenBidiStream couvrent les RPC en streaming client et bidirectionnel. RetryPolicy, Interceptors et ServiceConfig ajoutent la logique de réessai et la logique transversale sans toucher aux points d’appel.

Voir le client gRPC →
Google Cloud

Pub/Sub, Calendar et notifications push, HTTPS pur

Trois autres classes atteignent Google Cloud en HTTPS pur, authentifiées avec un compte de service Google, et aucune n’a besoin de sgcCustomIndy : TsgcHTTPGoogleCloud_PubSub_Client, TsgcHTTPGoogleCloud_Calendar_Client et TsgcHTTPGoogleCloud_FCM_Client.

Voir ce qu’il peut faire →
Échappatoire

Push serveur et corps fragmentés

Des événements exposent le cycle de vie de la connexion : OnHTTP2Connect, OnHTTP2Response, OnHTTP2ResponseFragment pour les corps fragmentés, OnHTTP2PushPromise pour le push serveur, OnHTTP2GoAway et OnHTTP2Disconnect. Rien du cycle de vie du flux ne t’est caché.

La surface HTTP/2 →
Multiplateforme

Une dépendance pour deux clients, aucune pour trois

Le client HTTP/2 et le client gRPC reposent sur sgcCustomIndy, qui couvre la même gamme de plateformes que sgcWebSockets lui-même. Les clients Google Cloud sont en HTTPS pur, ils tournent donc partout où le runtime Core tourne. De Delphi 7 à RAD Studio 13 et sur C++ Builder.

La matrice des fonctionnalités →

Les pages de référence de chaque composant :

HTTP/2 et gRPC, côte à côte

Les deux composants sont déclarés dans l’unité sgcHTTP, et TsgcGRPCClient porte sa propre connexion HTTP/2 via sa propriété Client. Le même code se compile de Delphi 7 à 13 et sur 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 même forme en Object Pascal et en C++ Builder. La matrice complète des fonctionnalités →

Deux choses à savoir d’abord

Ce que sgcHTTP attend de toi, et ce qu’il n’attend pas. Les deux réponses sont courtes, et toutes les deux sont sur cette page plutôt qu’en petits caractères.

Dépendances par client
client                              a besoin de sgcCustomIndy
TsgcHTTP2Client                     oui, pour ALPN
TsgcGRPCClient                      oui, repose sur TsgcHTTP2Client
TsgcHTTPGoogleCloud_PubSub_Client   non, HTTPS pur
TsgcHTTPGoogleCloud_Calendar_Client non, HTTPS pur
TsgcHTTPGoogleCloud_FCM_Client      non, HTTPS pur

HTTP/2 négocie h2 avec ALPN pendant la poignée de main TLS.
  La bibliothèque Indy standard livrée avec RAD Studio n’a
  aucune prise en charge d’ALPN, HTTP/2 et gRPC sont donc
  tous deux bâtis sur sgcCustomIndy à la place.

sgcHTTP est autonome

Autonome, le runtime sgcWebSockets Core est inclus : la pile client HTTP/TLS par laquelle chaque composant envoie ses requêtes, et la couche JSON qui décode les réponses Google Cloud. Un seul installateur, code source complet dans la boîte.

HTTP/2 et gRPC ont besoin de sgcCustomIndy

La négociation ALPN de HTTP/2 n’est pas prise en charge par la bibliothèque Indy standard, donc TsgcHTTP2Client et, par extension, TsgcGRPCClient sont bâtis à la place sur sgcCustomIndy. Il est ajouté automatiquement à ton panier quand tu commandes sgcHTTP ; tu possèdes déjà une licence ? Retire-le au moment du paiement.

Google Cloud n’a besoin que de HTTPS

Les trois clients Google Cloud s’authentifient avec l’id de projet, l’e-mail client et la clé privée d’un compte de service Google, et appellent les API REST sur la pile HTTPS pure du runtime Core. Aucune bibliothèque native, aucun sgcCustomIndy.

Delphi et C++ Builder

sgcHTTP cible Delphi 7 à RAD Studio 13 et C++ Builder. Les mêmes composants vivent aussi dans sgcWebSockets Enterprise, donc une licence Enterprise/All-Access existante peut déjà te couvrir. L’installateur d’essai gratuit est l’essai sgcWebSockets All-Access, les cinq classes peuvent donc être évaluées dès aujourd’hui.

ALPN HPACK Protocol Buffers JWT de compte de service Code source complet

Chaque composant et propriété →

sgcHTTP implémente les surfaces publiées HTTP/2, gRPC et Google Cloud REST plutôt que d’envelopper un SDK tiers, si bien que les flux, les en-têtes, les RPC et les notifications push sont tous des méthodes et événements de premier ordre, et le code source complet garantit que rien entre les deux n’est une boîte noire.

Douze bibliothèques, une seule boîte à outils

sgcHTTP est l’une des douze bibliothèques de composants eSeGeCe pour Delphi, C++ Builder et .NET. Elles partagent les mêmes conventions, elles sont livrées avec le code source complet et se déploient sans royalties.

sgcHTTP

Client HTTP/2, client gRPC et clients Google Cloud Pub/Sub, Calendar et FCM pour Delphi et C++ Builder. Autonome, avec le runtime sgcWebSockets Core inclus.

En savoir plus →

sgcAuth

Client OAuth2, client JWT et prise en charge de WebAuthn pour Delphi et C++ Builder. Autonome, avec le runtime sgcWebSockets Core inclus.

En savoir plus →

sgcWebSockets

WebSocket, HTTP/2, MQTT, AMQP, WebRTC, IA et plus de 30 intégrations d’APIs pour Delphi, C++ Builder, Lazarus et .NET. Son édition Enterprise inclut aussi gRPC.

En savoir plus →

sgcMQ

Composants clients MQTT, AMQP 0.9.1 et 1.0, Apache Kafka et STOMP pour Delphi et C++ Builder. Autonome, avec le runtime sgcWebSockets Core inclus.

En savoir plus →

sgcSocial

Composants clients Telegram et WhatsApp Business pour Delphi et C++ Builder. Autonome, avec le runtime sgcWebSockets Core inclus.

En savoir plus →

sgcHTML

Composants HTML et d’interface côté serveur sur Bootstrap 5 et htmx pour Delphi, C++ Builder et .NET.

En savoir plus →

sgcQUIC

Transport QUIC pur et un client/serveur HTTP/3, avec WebTransport. Un complément à sgcWebSockets Enterprise.

En savoir plus →

sgcAI

Composants IA, LLM et MCP pour Delphi et C++ Builder. Sept fournisseurs de LLM derrière un seul composant, plus MCP, embeddings et voix. Autonome, avec le runtime sgcWebSockets Core inclus.

En savoir plus →

sgcOpenAPI

Parser OpenAPI 3.x, générateur natif de SDK Pascal, composant serveur OpenAPI, et plus de 1 195 SDK cloud préconçus.

En savoir plus →

sgcSign

XAdES, PAdES, CAdES et ASiC pour les documents, Authenticode, ClickOnce, NuGet et VSIX pour le code.

En savoir plus →

sgcBiometrics

Windows Hello, capteurs d’empreintes digitales et Windows Biometric Framework pour Delphi et C++ Builder.

En savoir plus →

sgcIndy

Composants Indy TCP/IP mis à jour avec TLS moderne, IPv6 et HTTP/2, de Delphi 7 à 13.

En savoir plus →

Voir les tarifs et les licences Télécharger l’essai gratuit

Ce que disent les développeurs

Plébiscité par des développeurs Delphi, C++ Builder, Lazarus et .NET dans le monde entier.

Votre bibliothèque sgcWebSockets est très utile et facile à configurer. Continuez votre excellent travail !

Simone Moretti Développeur Delphi

sgcWebSockets est incroyable et votre support est le meilleur !

Christian Meyer Fondateur & CTO

Merci beaucoup pour votre aide et votre support, j’adore vos composants.

Mark Steinfeld CTO

Tu vois la vue HTTP/2 et gRPC d’eSeGeCe.

Montre-moi un autre angle →

HTTP moderne, gRPC et Google Cloud depuis du code natif

HTTP/2 multiplexé, gRPC en streaming et trois clients Google Cloud, avec le runtime sgcWebSockets Core inclus et le code source complet dans la boîte.