eSeGeCe — Enterprise-Kommunikationskomponenten für Delphi & .NET
IM FOKUS · sgcHTTP

HTTP/2 und gRPC, nativ in Delphi

Fünf Client-Komponenten decken drei Aufgaben ab. TsgcHTTP2Client spricht HTTP/2 mit gemultiplexten Streams über eine einzige TLS-Verbindung und HPACK-Header-Kompression. TsgcGRPCClient ist ein darauf aufgebauter gRPC-Client, für Unary- und Streaming-Protocol-Buffers-Aufrufe. Drei weitere Klassen erreichen Google Cloud über reines HTTPS: Pub/Sub, Calendar und Firebase Cloud Messaging. Eigenständig ist die sgcWebSockets Core Runtime enthalten.

  • 5 Client-Klassen
  • HTTP/2 · gRPC · Google Cloud
  • Gemultiplexte Streams, HPACK, ALPN
  • Delphi 7 bis 13 · C++ Builder

Zwei Paletten-Komponenten, drei Google-Cloud-Clients

sgcHTTP ist ein eigenständiges Paket. Es bringt die sgcWebSockets Core Runtime mit, auf der es aufbaut, und jede Lizenz wird mit vollständigem Quellcode ausgeliefert, sodass du die Abläufe auf Protokollebene in deinem eigenen Debugger Schritt für Schritt nachvollziehen kannst.

2 Paletten-Komponenten TsgcHTTP2Client und TsgcGRPCClient, auf einer Palettenseite.
5 Client-Klassen insgesamt HTTP/2, gRPC und drei Google-Cloud-Clients.
3 Google-Cloud-Dienste Pub/Sub, Calendar und Firebase Cloud Messaging, reines HTTPS.
1 Eigenständiger Installer Die sgcWebSockets Core Runtime und die HTTP-/TLS-Schicht werden beide im Paket mitgeliefert.
100% Quellcode enthalten Jede Lizenz enthält den vollständigen Quellcode aller fünf Clients und der mitgelieferten Runtime.
sgcHTTP

HTTP/2-, gRPC- und Google-Cloud-Client-Komponenten für Delphi und C++ Builder. Ein eigenständiges Paket mit enthaltener sgcWebSockets Core Runtime, vollständigem Quellcode und royaltyfreier Bereitstellung.

Zwei Abhängigkeiten, nicht fünf

Die fünf Klassen teilen sich sauber danach auf, was sie darunter brauchen. HTTP/2 und gRPC brauchen ALPN, was sgcCustomIndy bedeutet. Google Cloud braucht nichts weiter als HTTPS und ein Service-Konto, was die mitgelieferte Core Runtime bereits liefert.

HTTP/2

Gemultiplexte Streams über eine einzige TLS-Verbindung

TsgcHTTP2Client spricht HTTP/2 (RFC 9113): Mehrere Anfragen teilen sich eine einzige TCP-Verbindung als unabhängige Streams, eine langsame Antwort blockiert also nicht die anderen dahinter. Header werden mit HPACK komprimiert, und das h2-Protokoll wird während des TLS-Handshakes per ALPN ausgehandelt, weshalb die Komponente auf sgcCustomIndy statt auf der Standard-Indy-Bibliothek aufbaut. Jedes Verb ist abgedeckt, Connect, Get, Post, Put, Patch, Delete und Options, jedes mit einem synchronen Aufruf und einem Async-Gegenstück.

Den HTTP/2-Client ansehen →
gRPC

Unary- und Streaming-RPC auf dem HTTP/2-Client

TsgcGRPCClient baut auf dem HTTP/2-Client auf, erbt also die gemultiplexte Verbindung und ergänzt darüber das gRPC-Wire-Format: längenpräfixierte Protocol-Buffers-Nachrichten über HTTP/2-Streams. Call und CallAsync decken Unary-RPCs ab, ServerStreamingCall behandelt einen Antwort-Stream zu einer Anfrage, und OpenClientStream/OpenBidiStream decken Client-Streaming- und bidirektionale Streaming-RPCs ab. RetryPolicy, Interceptors und ServiceConfig ergänzen Retry-Verhalten und übergreifende Logik, ohne die Aufrufstellen anzufassen.

Den gRPC-Client ansehen →
Google Cloud

Pub/Sub, Calendar und Push-Benachrichtigungen, reines HTTPS

Drei weitere Klassen erreichen Google Cloud über reines HTTPS, authentifiziert mit einem Google-Service-Konto, und keine davon braucht sgcCustomIndy: TsgcHTTPGoogleCloud_PubSub_Client, TsgcHTTPGoogleCloud_Calendar_Client und TsgcHTTPGoogleCloud_FCM_Client.

Sieh, was möglich ist →
Volle Kontrolle

Server Push und Chunked Bodies

Ereignisse machen den Verbindungs-Lebenszyklus sichtbar: OnHTTP2Connect, OnHTTP2Response, OnHTTP2ResponseFragment für chunked Bodies, OnHTTP2PushPromise für Server Push, OnHTTP2GoAway und OnHTTP2Disconnect. Am Stream-Lebenszyklus bleibt dir nichts verborgen.

Die HTTP/2-Oberfläche →
Plattformübergreifend

Eine Abhängigkeit für zwei Clients, keine für drei

Der HTTP/2-Client und der gRPC-Client bauen auf sgcCustomIndy auf, das denselben Plattformumfang wie sgcWebSockets selbst abdeckt. Die Google-Cloud-Clients sind reines HTTPS, sie laufen also überall dort, wo die Core Runtime läuft. Von Delphi 7 bis RAD Studio 13 und unter C++ Builder.

Die Funktionsmatrix →

Referenzseiten zu jeder Komponente:

HTTP/2 und gRPC, nebeneinander

Beide Komponenten sind in der Unit sgcHTTP deklariert, und TsgcGRPCClient trägt seine eigene HTTP/2-Verbindung über seine Client-Eigenschaft. Derselbe Code kompiliert in Delphi 7 bis 13 und 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;

Dieselbe Form in Object Pascal und in C++ Builder. Die vollständige Funktionsmatrix →

Zwei Dinge, die du vorher wissen solltest

Was sgcHTTP von dir braucht, und was nicht. Beide Antworten sind kurz, und beide stehen auf dieser Seite statt im Kleingedruckten.

Abhängigkeiten je Client
Client                              braucht sgcCustomIndy
TsgcHTTP2Client                     ja, für ALPN
TsgcGRPCClient                      ja, baut auf TsgcHTTP2Client auf
TsgcHTTPGoogleCloud_PubSub_Client   nein, reines HTTPS
TsgcHTTPGoogleCloud_Calendar_Client nein, reines HTTPS
TsgcHTTPGoogleCloud_FCM_Client      nein, reines HTTPS

HTTP/2 handelt h2 während des TLS-Handshakes per ALPN aus.
  Die Standard-Indy-Bibliothek, die mit RAD Studio ausgeliefert
  wird, unterstützt kein ALPN, daher bauen sowohl HTTP/2 als
  auch gRPC stattdessen auf sgcCustomIndy auf.

sgcHTTP ist eigenständig

Eigenständig ist die sgcWebSockets Core Runtime enthalten: der HTTP-/TLS-Client-Stack, über den jede Komponente ihre Anfragen sendet, und die JSON-Schicht, die Google-Cloud-Antworten dekodiert. Ein Installer, vollständiger Quellcode im Paket.

HTTP/2 & gRPC brauchen sgcCustomIndy

HTTP/2s ALPN-Aushandlung wird von der Standard-Indy-Bibliothek nicht unterstützt, daher bauen TsgcHTTP2Client und, davon abgeleitet, TsgcGRPCClient stattdessen auf sgcCustomIndy auf. Es wird beim Bestellen von sgcHTTP automatisch zu deinem Warenkorb hinzugefügt; besitzt du bereits eine Lizenz? Entferne es beim Checkout.

Google Cloud braucht nur HTTPS

Die drei Google-Cloud-Clients authentifizieren sich mit der Projekt-ID, der Client-E-Mail und dem privaten Schlüssel eines Google-Service-Kontos und rufen die REST-APIs über den reinen HTTPS-Stack der Core Runtime auf. Keine native Bibliothek, kein sgcCustomIndy.

Delphi und C++ Builder

sgcHTTP richtet sich an Delphi 7 bis RAD Studio 13 und C++ Builder. Dieselben Komponenten leben auch in sgcWebSockets Enterprise, eine bestehende Enterprise-/All-Access-Lizenz deckt dich also möglicherweise bereits ab. Der kostenlose Test-Installer ist der sgcWebSockets-All-Access-Test, alle fünf Klassen lassen sich also schon heute ausprobieren.

ALPN HPACK Protocol Buffers Service-Konto-JWT Vollständiger Quellcode

Jede Komponente und Eigenschaft →

sgcHTTP implementiert die veröffentlichten HTTP/2-, gRPC- und Google-Cloud-REST-Oberflächen, statt ein Anbieter-SDK zu umhüllen, Streams, Header, RPCs und Push-Benachrichtigungen sind also allesamt erstklassige Methoden und Ereignisse, und vollständiger Quellcode bedeutet, dass nichts dazwischen eine Blackbox ist.

Zwölf Bibliotheken, ein Werkzeugkasten

sgcHTTP ist eine von zwölf eSeGeCe-Komponentenbibliotheken für Delphi, C++ Builder und .NET. Sie teilen dieselben Konventionen, werden mit vollständigem Quellcode ausgeliefert und lassen sich royaltyfrei verteilen.

sgcHTTP

HTTP/2-Client, gRPC-Client sowie Clients für Google Cloud Pub/Sub, Calendar und FCM für Delphi und C++ Builder. Eigenständig, die sgcWebSockets Core Runtime ist enthalten.

Mehr erfahren →

sgcAuth

OAuth2-Client, JWT-Client und WebAuthn-Unterstützung für Delphi und C++ Builder. Eigenständig, die sgcWebSockets Core Runtime ist enthalten.

Mehr erfahren →

sgcWebSockets

WebSocket, HTTP/2, MQTT, AMQP, WebRTC, KI und 30+ API-Integrationen für Delphi, C++ Builder, Lazarus und .NET. Auch die Enterprise-Edition enthält gRPC.

Mehr erfahren →

sgcMQ

Client-Komponenten für MQTT, AMQP 0.9.1 und 1.0, Apache Kafka und STOMP für Delphi und C++ Builder. Eigenständig, die sgcWebSockets Core Runtime ist enthalten.

Mehr erfahren →

sgcSocial

Telegram- und WhatsApp-Business-Client-Komponenten für Delphi und C++ Builder. Eigenständig, die sgcWebSockets Core Runtime ist enthalten.

Mehr erfahren →

sgcHTML

Serverseitige HTML- und UI-Komponenten auf Bootstrap 5 und htmx für Delphi, C++ Builder und .NET.

Mehr erfahren →

sgcQUIC

Reiner QUIC-Transport und ein HTTP/3-Client und -Server, mit WebTransport. Ein Add-on zu sgcWebSockets Enterprise.

Mehr erfahren →

sgcAI

Komponenten für KI, LLM und MCP für Delphi und C++ Builder. Sieben LLM-Anbieter hinter einer einzigen Komponente, dazu MCP, Embeddings und Sprache. Eigenständig, die sgcWebSockets Core Runtime ist enthalten.

Mehr erfahren →

sgcOpenAPI

OpenAPI-3.x-Parser, nativer Pascal-SDK-Generator, OpenAPI-Server-Komponente und 1.195+ vorgefertigte Cloud-SDKs.

Mehr erfahren →

sgcSign

XAdES, PAdES, CAdES und ASiC für Dokumente, Authenticode, ClickOnce, NuGet und VSIX für Code.

Mehr erfahren →

sgcBiometrics

Windows Hello, Fingerabdrucksensoren und das Windows Biometric Framework für Delphi und C++ Builder.

Mehr erfahren →

sgcIndy

Aktualisierte Indy-TCP/IP-Komponenten mit modernem TLS, IPv6 und HTTP/2 für Delphi 7 bis 13.

Mehr erfahren →

Preise und Lizenzen ansehen Kostenlose Testversion herunterladen

Was Entwickler sagen

Vertrauen von Delphi-, C++ Builder-, Lazarus- und .NET-Entwicklern weltweit.

Eure sgcWebSockets-Bibliothek ist sehr nützlich und einfach einzurichten. Macht weiter so!

Simone Moretti Delphi-Entwickler

sgcWebSockets ist großartig und euer Support ist der beste!

Christian Meyer Gründer & CTO

Vielen Dank für eure Hilfe und Unterstützung, ich liebe eure Komponenten.

Mark Steinfeld CTO

Du siehst gerade die Ansicht HTTP/2 & gRPC von eSeGeCe.

Zeig mir eine andere Perspektive →

Modernes HTTP, gRPC und Google Cloud aus nativem Code

Gemultiplextes HTTP/2, streamendes gRPC und drei Google-Cloud-Clients, mit enthaltener sgcWebSockets Core Runtime und vollständigem Quellcode im Lieferumfang.