sgcHTTP: HTTP/2-, gRPC- & Google-Cloud-Komponenten für Delphi & C++ Builder
Eigenständiges Produkt HTTP/2, gRPC & Google Cloud

sgcHTTP: HTTP/2-, gRPC- & Google-Cloud-Komponenten für Delphi & C++ Builder

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. sgcHTTP ist eigenständig, es bringt die sgcWebSockets Core Runtime mit, auf der alle fünf aufbauen.

Voller Quellcode
Delphi 7 bis 13 & C++ Builder
Mitgelieferte Runtime sgcWebSockets Core Die HTTP-, TLS- und JSON-Runtime unter jedem Client
HTTP/2 TsgcHTTP2Client
gRPC TsgcGRPCClient
2 Paletten-Komponenten HTTP/2-Client & gRPC-Client, eine Seite auf der Palette
5 Client-Klassen insgesamt HTTP/2, gRPC und drei Google-Cloud-Clients
3 Google-Cloud-Dienste Pub/Sub, Calendar und Firebase Cloud Messaging
100% Quellcode enthalten Alle fünf Clients und die mitgelieferte Core Runtime
12 Monate Updates Jede Version, die veröffentlicht wird, während deine Lizenz aktiv ist

Zwei Dinge, die du vorher wissen solltest

Was sgcHTTP von dir braucht, und was nicht. Beide Antworten sind kurz.

sgcHTTP ist in sich geschlossen

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. Eine SKU, ein Installer.

Jeder Lizenz liegt der volle Quellcode bei, du kannst also alle fünf Clients und die Runtime darunter in deinem eigenen Debugger durchsteppen, statt sie in einer Binärdatei verschwinden zu sehen.

Add-on erforderlich für zwei von fünf

HTTP/2 & gRPC brauchen sgcCustomIndy

HTTP/2 handelt das h2-Protokoll während des TLS-Handshakes per ALPN aus, und die Standard-Indy-Bibliothek, die mit RAD Studio ausgeliefert wird, unterstützt kein ALPN. Der HTTP/2-Client und der gRPC-Client von sgcHTTP bauen stattdessen auf sgcCustomIndy auf, das beim Bestellen von sgcHTTP automatisch zu deinem Warenkorb hinzugefügt wird. Besitzt du bereits eine Lizenz? Entferne es beim Checkout.

Die drei Google-Cloud-Clients, Pub/Sub, Calendar und Firebase Cloud Messaging, sind reines HTTPS. Sie laufen auf der bloßen Core Runtime und brauchen sgcCustomIndy überhaupt nicht.

Zwei Paletten-Komponenten, drei Google-Cloud-Clients

Der HTTP/2-Client und der gRPC-Client sind nicht-visuelle Komponenten auf der Palettenseite SGC HTTP, deklariert in der Unit sgcHTTP. Ziehe eine davon auf ein Formular oder erzeuge sie im Code, setze die Verbindungsoptionen, verdrahte die Ereignisse und rufe dann die typisierten Anfragemethoden auf. Die drei Google-Cloud-Clients leben als reine Code-Klassen in derselben Unit, es gibt nichts auf ein Formular zu ziehen: Erzeuge eine, setze GoogleCloudOptions und rufe ihre Methoden direkt auf.

HTTP/21 Komponente

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. Ereignisse machen den Verbindungs-Lebenszyklus sichtbar: OnHTTP2Connect, OnHTTP2Response, OnHTTP2ResponseFragment für chunked Bodies, OnHTTP2PushPromise für Server Push, OnHTTP2GoAway und OnHTTP2Disconnect. HTTP2Options konfiguriert den lokalen Settings-Frame, und TLSOptions sowie Authentication übernehmen aus dem übrigen sgc-HTTP-Stack.

TsgcHTTP2Client Erfordert sgcCustomIndy
gRPC1 Komponente

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/SendStreamMessage/CloseClientStream plus OpenBidiStream/SendBidiMessage/CloseBidiStream decken Client-Streaming- und bidirektionale Streaming-RPCs ab. OnGRPCResponse, OnGRPCStreamMessage und OnGRPCStreamEnd liefern den Datenverkehr, und RetryPolicy, Interceptors und ServiceConfig ergänzen Retry-Verhalten, übergreifende Logik und Service-Konfiguration, ohne die Aufrufstellen anzufassen. Wie der HTTP/2-Client, auf dem er aufbaut, braucht er sgcCustomIndy für ALPN.

TsgcGRPCClient Erfordert sgcCustomIndy
Google Cloud3 Klassen

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

Drei weitere Klassen erreichen Google-Cloud-Dienste über reines HTTPS, authentifiziert mit einem Google-Service-Konto, und keine davon braucht sgcCustomIndy. TsgcHTTPGoogleCloud_PubSub_Client veröffentlicht und holt Nachrichten ab und verwaltet Topics, Subscriptions und Snapshots: Publish, Pull, Acknowledge, CreateTopic, CreateSubscription und der Rest der Pub/Sub-REST-Oberfläche. TsgcHTTPGoogleCloud_Calendar_Client umhüllt die Google Calendar API v3: NewCalendar, NewEvent, LoadEvents und LoadCalendars, mit den Ereignissen OnGetCalendar und OnGetCalendarEvent für die Synchronisierung. TsgcHTTPGoogleCloud_FCM_Client sendet mit einem Aufruf, SendMessage, eine Push-Benachrichtigungs-Payload an ein Firebase-Projekt. Alle drei sind reine Code-Klassen: eine erzeugen, GoogleCloudOptions setzen, die Methoden aufrufen.

TsgcHTTPGoogleCloud_PubSub_Client TsgcHTTPGoogleCloud_Calendar_Client TsgcHTTPGoogleCloud_FCM_Client

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 braucht ALPN, also braucht es sgcCustomIndy

Application-Layer Protocol Negotiation wählt h2 während des TLS-Handshakes, und die Standard-Indy-Bibliothek, die mit RAD Studio ausgeliefert wird, hat keine ALPN-Unterstützung. TsgcHTTP2Client baut stattdessen auf sgcCustomIndy auf, eSeGeCes angepasstem Indy-Build.

gRPC ist Protocol Buffers auf dem HTTP/2-Client

TsgcGRPCClient öffnet keine eigene Verbindung, seine Client-Eigenschaft ist ein TsgcHTTP2Client. Unary-, Server-Streaming-, Client-Streaming- und bidirektionale Aufrufe reisen darunter alle als HTTP/2-Streams.

Google Cloud ist HTTPS plus ein Service-Konto

Die drei Google-Cloud-Clients authentifizieren sich mit GoogleCloudOptions.JWT, 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. OnAuthToken und OnAuthTokenError machen den Token-Austausch sichtbar.

Die Core Runtime ist im Lieferumfang

Eigenständig ist die sgcWebSockets Core Runtime enthalten. Sie steuert den HTTP/TLS-Client-Stack bei, über den jeder der fünf Clients seine Aufrufe absetzt, und ihr voller Quellcode ist Teil des Pakets wie alles andere.

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;
  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);
}

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.

TsgcHTTP2Client & TsgcGRPCClient Aufgebaut auf sgcCustomIndy für ALPN
Windows Win32 Windows Win64 Linux64 macOS iOS Android
Google-Cloud-Clients Reines HTTPS, kein sgcCustomIndy nötig
Windows Win32 Windows Win64 Linux64 macOS iOS Android
IDE-Unterstützung Ein Quellbaum, Designtime-Pakete je Version
Delphi 7 bis 13 C++ Builder
Trial-Installer Der All-Access-Trial von sgcWebSockets enthält die sgcHTTP-Komponenten
Ein Download, alle fünf Klassen

Lade den Trial-Installer herunter →

Ein eigenständiges Paket

sgcHTTP wird eigenständig lizenziert, ab €249 für einen einzelnen Entwickler. Alle Lizenzen enthalten den vollen Quellcode, 1 Jahr Updates und 50% bis 70% Verlängerungsrabatt: 50%, wenn du ein Paket verlängerst, 60% bei zwei, 70% bei drei oder mehr. sgcAI, sgcMQ, sgcSocial, sgcCustomIndy, sgcAuth und sgcHTTP zählen jeweils als ein Paket. sgcHTTP ist auch im All-Access-Bundle enthalten.

sgcHTTP

€249

Single-, Team- und Site-Lizenzen verfügbar.

  • HTTP/2-Client mit Multiplexing & HPACK
  • gRPC-Client, Unary- & Streaming-RPC
  • Google Cloud Pub/Sub-, Calendar- & FCM-Clients
  • sgcWebSockets Core Runtime enthalten
  • Delphi 7 bis 13 & C++ Builder
  • Vollständiger Quellcode
  • 1 Jahr Updates

HTTP/2 und gRPC brauchen das Add-on sgcCustomIndy. Der Checkout fügt es automatisch hinzu, du kannst es entfernen, falls du bereits eine Lizenz besitzt.

An der Kasse erscheinen drei Positionen: die Berechtigung für die sgcWebSockets Core Runtime, die mit null berechnet wird, das sgcHTTP-Paket selbst, und das automatisch hinzugefügte sgcCustomIndy-Add-on. Alle Preisdetails.

3,000+Developers
20+Years
761+Components
30+API Integrations
5Platforms
30 Tage Geld-zurück-GarantieNicht zufrieden? Fordern Sie innerhalb von 30 Tagen nach dem Kauf eine vollständige Rückerstattung an. Rückerstattungsrichtlinie ansehen

Modernes HTTP, gRPC und Google Cloud aus nativem Code

Gemultiplextes HTTP/2, streamendes gRPC und drei Google-Cloud-Clients, mit enthaltener Runtime und vollständigem Quellcode im Lieferumfang. Lade den All-Access-Trial-Installer herunter und probiere noch heute alle fünf Komponenten aus.

Weitere Produkte von eSeGeCe

Kombiniere sgcHTTP mit unseren anderen Komponentenbibliotheken für Delphi, C++ Builder und .NET.

sgcCustomIndy

Die angepasste Indy-Bibliothek, auf der der HTTP/2- und der gRPC-Client von sgcHTTP aufbauen: ALPN, TLS 1.3 und statische OpenSSL-Verlinkung.

Mehr erfahren →

sgcWebSockets

Die vollständige Bibliothek: WebSocket-Clients und -Server, HTTP/2, gRPC, IoT, P2P und KI-Komponenten. Ihre Enterprise-Edition enthält auch gRPC.

Mehr erfahren →

sgcAI

Komponenten für KI, LLM und MCP. Eine Chat-Komponente erreicht OpenAI, Anthropic, Gemini, DeepSeek, Ollama, Grok und Mistral.

Mehr erfahren →

sgcMQ

Native Client-Komponenten für MQTT 3.1.1/5.0, AMQP 0.9.1, AMQP 1.0, Apache Kafka und STOMP, mit enthaltener Core Runtime.

Mehr erfahren →

sgcSocial

WhatsApp Business Cloud API und Telegram TDLib Client-Komponenten, mit enthaltener Core Runtime.

Mehr erfahren →

sgcQUIC

Client- und Server-Komponenten für QUIC (RFC 9000) und HTTP/3 (RFC 9114), aufgebaut auf der nativen QUIC-Engine von OpenSSL 3.5.

Mehr erfahren →