sgcHTTPServeur HTTP, HTTP/2et gRPC en natif dans Delphi.Google Cloud aussi.
Un serveur HTTP et cinq composants clients. TsgcHTTPServer publie des points d’accès HTTP et des fichiers statiques depuis ta propre application. TsgcHTTP2Client parle HTTP/2 avec des flux multiplexés sur une seule connexion TLS et la compression d’en-têtes HPACK. TsgcGRPCClient est un client gRPC construit par-dessus, pour des appels Protocol Buffers unaires et en streaming. Trois autres classes accèdent à Google Cloud en HTTPS simple : Pub/Sub, Calendar et Firebase Cloud Messaging.
Démarrage rapide sgcHTTP | HTTP/2 et gRPC depuis Delphi
gRPC par-dessus
Serveur HTTP
TsgcHTTPServer
HTTP/2
h2 + HPACK
gRPC
Protocol Buffers
Google Cloud
HTTPS + JWT
3Composants de la palette : le serveur HTTP, le client HTTP/2 et le client gRPC
5Classes clientes au total
3Services Google Cloud : Pub/Sub, Calendar et FCM
1Installeur autonome, runtime Core inclus
100%Code source inclus avec chaque licence
Vois-le tourner
Découvre sgcHTTP en deux minutes.
Un démarrage rapide commenté et sous-titré : un client HTTP/2 qui envoie de nombreuses requêtes sur une seule connexion, puis un appel gRPC qui emprunte ce même transport, le tout depuis Delphi. Rien n’est téléchargé tant que tu n’appuies pas sur lecture.
Démarrage rapide sgcHTTP
Appelle un point de terminaison HTTP/2 et fais un appel gRPC, depuis Delphi.
Crée le client HTTP/2Crée un TsgcHTTP2Client, gère OnHTTP2Response et appelle Get. Le protocole h2 est négocié pendant la poignée de main TLS via ALPN.
Plusieurs requêtes, une seule connexionLes requêtes partagent une même connexion TCP sous forme de flux indépendants, donc une réponse lente ne bloque pas celles qui suivent.
gRPC sur le même transportAssigne le client HTTP/2 au client gRPC et appelle une méthode par service et par nom. Les messages circulent sous forme de Protocol Buffers préfixés par leur longueur.
Quatre modes d’RPCUnaire, streaming serveur, streaming client et streaming bidirectionnel, chacun avec sa propre méthode sur TsgcGRPCClient.
Deux composants de palette
Un client HTTP/2, et gRPC par-dessus.
Les deux composants sont déclarés dans l’unité sgcHTTP, et TsgcGRPCClient porte sa propre connexion HTTP/2 via sa propriété Client.
Des flux multiplexés sur une seule connexion TLS
TsgcHTTP2Client parle HTTP/2 (RFC 9113) : plusieurs requêtes partagent une même connexion TCP sous forme de flux indépendants. Les en-têtes sont compressés avec HPACK, et h2 est négocié pendant la poignée de main TLS via ALPN. Tous les verbes sont couverts, Get, Post, Put, Patch, Delete et Options, chacun avec un appel synchrone et son jumeau Async.
RPC unaires et en streaming sur le client HTTP/2
TsgcGRPCClient hérite de la connexion multiplexée et ajoute par-dessus le format de câble gRPC. Call et CallAsync couvrent les RPC unaires, ServerStreamingCall gère un flux de réponses à une seule requête, et OpenClientStream et OpenBidiStream couvrent le streaming client et le streaming bidirectionnel. RetryPolicy, Interceptors et ServiceConfig ajoutent les nouvelles tentatives et la logique transversale sans toucher aux sites d’appel.
Un serveur, cinq classes clientes
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 d’autre que HTTPS et d’un compte de service, ce que le runtime Core inclus fournit déjà. Le serveur HTTP vient de ce runtime lui-même.
Serveur HTTP
TsgcHTTPServer publie des points d’accès HTTP depuis ta propre application. Définis Port, gère OnCommandGet, passe Active à true, et chaque requête arrive dans ton code. OnCommandOther couvre les verbes comme PUT et DELETE. Il est livré avec le runtime Core inclus.
Fichiers statiques et envois
Pointe DocumentRoot vers un dossier et le serveur en renvoie les fichiers statiques. HTTPUploadFiles enregistre sur disque les fichiers envoyés, MaxRequestBodySize plafonne la taille des corps de requête, et HTTPCompression et KeepAlive gardent les réponses légères et les connexions ouvertes.
Prêt pour la production
SSL et SSLOptions activent TLS, Authentication et OnAuthentication protègent les points d’accès, SessionState suit les sessions, et ThreadPool et MaxConnections contrôlent la montée en charge. Le même moteur que le serveur WebSocket, sans la partie WebSocket.
HTTP/2
TsgcHTTP2Client multiplexe des flux indépendants sur une seule connexion TLS, compresse les en-têtes avec HPACK et négocie h2 via ALPN. Connect, Get, Post, Put, Patch, Delete et Options, en synchrone ou en Async.
gRPC
TsgcGRPCClient s’appuie sur le client HTTP/2 : des messages Protocol Buffers préfixés par leur longueur sur des flux HTTP/2, avec des RPC unaires, en streaming serveur, en streaming client et bidirectionnels, plus une politique de nouvelles tentatives et des intercepteurs.
Google Cloud, en HTTPS simple
TsgcHTTPGoogleCloud_PubSub_Client, TsgcHTTPGoogleCloud_Calendar_Client et TsgcHTTPGoogleCloud_FCM_Client accèdent à Pub/Sub, Calendar et Firebase Cloud Messaging, authentifiés avec un compte de service Google. Aucun n’a besoin de sgcCustomIndy.
Push serveur et corps fragmentés
Les é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 des flux ne t’est caché.
Une dépendance pour deux, aucune pour trois
Les clients HTTP/2 et gRPC reposent sur sgcCustomIndy, qui couvre la même gamme de plateformes que sgcWebSockets lui-même. Les clients Google Cloud utilisent du HTTPS simple, donc ils tournent partout où tourne le runtime Core. De Delphi 7 à RAD Studio 13, et C++ Builder.
Code source complet inclus
Chaque licence inclut le code source complet du serveur HTTP, des cinq clients et du runtime fourni, donc les implémentations au niveau du câble se parcourent pas à pas dans ton propre débogueur. Le déploiement est sans redevances.
Crée le composant, définis un port ou pointe-le vers un hôte, branche l’événement et c’est parti. Le même code se compile de Delphi 7 à 13 et en C++ Builder.
Crée le composantLes clients se trouvent dans l’unité sgcHTTP, le serveur dans sgcHTTP_Server. TsgcGRPCClient porte sa propre connexion HTTP/2 via sa propriété Client.
Pointe-le vers un hôteUn hôte https:// suffit. ALPN négocie h2 pendant la poignée de main TLS, et HPACK compresse les en-têtes.
Branche l’événement de réponseOnHTTP2Response et OnGRPCResponse te remettent le corps décodé, avec la requête et la connexion associées.
Envoie, en synchrone ou nonChaque verbe et chaque RPC a un appel bloquant et son jumeau Async, donc le thread de l’interface reste libre.
Ce que sgcHTTP attend de toi, et ce qu’il n’attend pas. Les deux réponses sont courtes, et toutes deux figurent sur cette page plutôt que dans les petites lignes.
Dépendances par composant
classe requiert sgcCustomIndyTsgcHTTPServernon, livré avec le runtime CoreTsgcHTTP2Clientoui, pour ALPNTsgcGRPCClientoui, s’appuie sur TsgcHTTP2ClientTsgcHTTPGoogleCloud_PubSub_Clientnon, HTTPS simpleTsgcHTTPGoogleCloud_Calendar_Clientnon, HTTPS simpleTsgcHTTPGoogleCloud_FCM_Clientnon, HTTPS simpleHTTP/2 négocie h2 avec ALPN pendant la poignée de main TLS.
La bibliothèque Indy standard livrée avec RAD Studio
ne gère pas ALPN, donc HTTP/2 et gRPC sont tous deux
construits sur sgcCustomIndy.
sgcHTTP est autonome
Le runtime sgcWebSockets Core est inclus : le serveur HTTP, la pile cliente HTTP/TLS par laquelle passent les requêtes de chaque client, et la couche JSON qui décode les réponses de Google Cloud. Un seul installeur, code source complet inclus.
HTTP/2 et gRPC requièrent sgcCustomIndy
La négociation ALPN n’est pas prise en charge par la bibliothèque Indy standard, donc TsgcHTTP2Client et, par extension, TsgcGRPCClient sont construits sur sgcCustomIndy. Il est toujours inclus quand tu commandes sgcHTTP, et le prix affiché le couvre déjà.
Google Cloud n’a besoin que de HTTPS
Les trois clients Google Cloud s’authentifient avec l’identifiant de projet, l’e-mail client et la clé privée d’un compte de service Google, et appellent les API REST via la pile HTTPS simple du runtime Core. Pas de bibliothèque native, pas de sgcCustomIndy.
Delphi et C++ Builder
sgcHTTP cible de Delphi 7 à RAD Studio 13 et C++ Builder. Les mêmes composants figurent aussi dans sgcWebSockets Enterprise, donc une licence Enterprise ou All-Access existante peut déjà te couvrir. L’installeur d’essai est l’essai sgcWebSockets All-Access, ce qui permet d’évaluer dès aujourd’hui le serveur HTTP et les cinq clients.
ALPN
HPACK
Protocol Buffers
JWT de compte de service
Code source complet
sgcHTTP implémente les interfaces publiées de HTTP/2, de gRPC et de l’API REST de Google Cloud au lieu d’encapsuler un SDK fournisseur. Les flux, les en-têtes, les RPC et les notifications push sont donc de vrais méthodes et événements, et avec le code source complet, rien entre les deux n’est une boîte noire.
Une partie de sgcWebSockets
Un seul paquet de sgcWebSockets, sous licence indépendante.
sgcHTTP inclut le runtime sgcWebSockets Core sur lequel il est construit, et le complément sgcCustomIndy dont HTTP/2 et gRPC ont besoin est toujours inclus. Chaque licence est livrée avec le code source complet et un déploiement sans redevances.
Single
1 licence développeur. Utilisation sur une machine à la fois.
€398
Team
2 licences développeur. Utilisation sur deux machines à la fois.
€648
Site
Développeurs illimités. Toutes les machines de l’entreprise.
€1,048
Composants clients HTTP/2, gRPC et Google Cloud pour Delphi et C++ Builder, avec le runtime sgcWebSockets Core inclus. Tu as déjà sgcWebSockets Enterprise ? Les mêmes composants s’y trouvent aussi.
sgcHTTP partage ses conventions avec les autres bibliothèques de composants eSeGeCe pour Delphi, C++ Builder et .NET. Elles sont livrées avec le code source complet et se déploient sans redevances.
Garantie satisfait ou remboursé de 30 joursPas satisfait ? Demandez un remboursement intégral dans les 30 jours suivant l'achat. Voir la politique de remboursement