Bağımsız ürün HTTP Sunucusu, HTTP/2, gRPC & Google Cloud

sgcHTTP: Delphi ve C++ Builder için HTTP Sunucusu, HTTP/2, gRPC ve Google Cloud Bileşenleri

Bir HTTP sunucusu ve beş istemci bileşeni. TsgcHTTPServer, HTTP uç noktalarını ve statik dosyaları kendi uygulamanızdan yayımlar: Port'u ayarlayın, OnCommandGet'i işleyin, Active'i ayarlayın. TsgcHTTP2Client, tek bir TLS bağlantısı üzerinden çoğullanmış akışlar ve HPACK başlık sıkıştırmasıyla HTTP/2 konuşur. TsgcGRPCClient, bunun üzerine kurulu bir gRPC istemcisidir; unary ve akış tabanlı Protocol Buffers çağrıları için. Üç sınıf daha, düz HTTPS üzerinden Google Cloud'a ulaşır: Pub/Sub, Calendar ve Firebase Cloud Messaging. sgcHTTP bağımsızdır, sunucunun ve beş istemcinin de üzerine kurulduğu sgcWebSockets Core çalışma zamanını içerir.

Tam kaynak kodu
Delphi 7'den 13'e & C++ Builder
Pakete dahil çalışma zamanı sgcWebSockets Core HTTP sunucusu ve her istemcinin altındaki HTTP, TLS ve JSON çalışma zamanı
HTTP/2 TsgcHTTP2Client
gRPC TsgcGRPCClient

sgcHTTP'yi İki Dakikada Görün

Delphi ve C++Builder için bir HTTP sunucusu, HTTP/2 ve gRPC istemcileri, ayrıca hazır Google Cloud, Amazon ve Apple Push entegrasyonları.

3 Palet bileşeni HTTP sunucusu, HTTP/2 istemcisi & gRPC istemcisi, palette tek sayfa
5 İstemci sınıfı toplamı HTTP/2, gRPC ve üç Google Cloud istemcisi
3 Google Cloud hizmeti Pub/Sub, Calendar ve Firebase Cloud Messaging
100% Kaynak kodu dahil HTTP sunucusu, beş istemci ve pakete dahil Core çalışma zamanı
12 Ay güncelleme Lisansınız aktifken yayımlanan her sürüm

Önce Bilmeye Değer İki Şey

sgcHTTP'nin sizden ne istediği ve ne istemediği. İki yanıt da kısa.

sgcHTTP kendi kendine yeter

Bağımsız olarak, sgcWebSockets Core çalışma zamanı pakete dahildir: HTTP sunucusu, her istemcinin isteklerini gönderdiği HTTP/TLS istemci yığını ve Google Cloud yanıtlarını çözen JSON katmanı. Tek SKU, tek kurulum paketi.

Her lisansla birlikte tam kaynak kodu gelir, böylece HTTP sunucusu, beş istemci ve altlarındaki çalışma zamanı bir ikili dosyanın içinde kaybolmak yerine kendi hata ayıklayıcınızda adım adım izlenir.

Beşten ikisi için eklenti gerekli

HTTP/2 & gRPC, sgcCustomIndy gerektirir

HTTP/2, TLS el sıkışması sırasında h2 protokolünü ALPN ile müzakere eder ve RAD Studio ile birlikte gelen standart Indy kitaplığı ALPN'yi desteklemez. sgcHTTP'nin HTTP/2 istemcisi ve gRPC istemcisi bunun yerine sgcCustomIndy üzerine kuruludur; sgcHTTP sipariş edildiğinde her zaman dahildir ve gösterilen fiyat onu zaten kapsar.

Üç Google Cloud istemcisi, Pub/Sub, Calendar ve Firebase Cloud Messaging, düz HTTPS'tir. Çıplak Core çalışma zamanı üzerinde çalışırlar ve sgcCustomIndy'ye hiç ihtiyaç duymazlar.

Üç Palet Bileşeni, Üç Google Cloud İstemcisi

HTTP sunucusu, HTTP/2 istemcisi ve gRPC istemcisi, SGC HTTP palet sayfasındaki görsel olmayan bileşenlerdir. Sunucu, pakete dahil Core çalışma zamanının sgcHTTP_Server biriminde, iki istemci ise sgcHTTP biriminde tanımlanır. Birini bir forma bırakın ya da kodda oluşturun, bağlantı seçeneklerini ayarlayın, olayları bağlayın, ardından tiplenmiş istek metotlarını çağırın. Üç Google Cloud istemcisi aynı birimde kod-yalnızca sınıflar olarak yaşar, forma bırakılacak bir şey yoktur: birini oluşturun, GoogleCloudOptions'ı ayarlayın ve metotlarını doğrudan çağırın.

HTTP Sunucusu1 bileşen

HTTP uç noktalarını ve statik dosyaları yayımlayın

TsgcHTTPServer, Delphi veya C++ Builder uygulamanızı bir HTTP sunucusuna dönüştürür. Port'u ayarlayın, OnCommandGet'i işleyin, Active'i true yapın; her istek, istek ve yanıt nesneleriyle birlikte kodunuza ulaşır, OnCommandOther ise PUT ve DELETE gibi fiilleri kapsar. DocumentRoot'u bir klasöre yönlendirin, sunucu statik dosyaları oradan döndürür. HTTPCompression yanıtları sıkıştırır, KeepAlive bağlantıları yeniden kullanır, OnSessionStart ve OnSessionEnd ile birlikte SessionState oturumları izler, MaxRequestBodySize istek gövdelerini sınırlar ve HTTPUploadFiles yüklenen dosyaları diske kaydeder. Üretim için SSL ve SSLOptions TLS'i etkinleştirir, Authentication ve OnAuthentication uç noktalarınızı korur, ThreadPool ve MaxConnections ise ölçeklenmesini denetler. sgcWebSockets WebSocket sunucusuyla aynı motordur, yalnızca WebSocket kısmı yoktur ve pakete dahil Core çalışma zamanıyla birlikte gelir.

TsgcHTTPServer Core çalışma zamanıyla birlikte gelir
HTTP/21 bileşen

Tek bir TLS bağlantısı üzerinden çoğullanmış akışlar

TsgcHTTP2Client, HTTP/2 (RFC 9113) konuşur: birden çok istek, tek bir TCP bağlantısını bağımsız akışlar olarak paylaşır, bu yüzden yavaş bir yanıt arkasındaki diğerlerini engellemez. Başlıklar HPACK ile sıkıştırılır ve h2 protokolü, TLS el sıkışması sırasında ALPN ile müzakere edilir; bileşenin standart Indy kitaplığı yerine sgcCustomIndy üzerine kurulu olmasının nedeni de budur. Her fiil kapsanır: Connect, Get, Post, Put, Patch, Delete ve Options, her biri bir eşzamanlı çağrı ve bir Async ikizi ile. Olaylar bağlantı yaşam döngüsünü açığa çıkarır: OnHTTP2Connect, OnHTTP2Response, parçalı gövdeler için OnHTTP2ResponseFragment, sunucu push için OnHTTP2PushPromise, OnHTTP2GoAway ve OnHTTP2Disconnect. HTTP2Options, yerel ayarlar çerçevesini yapılandırır; TLSOptions ve Authentication ise sgc HTTP yığınının geri kalanından devam eder.

TsgcHTTP2Client sgcCustomIndy gerektirir
gRPC1 bileşen

HTTP/2 istemcisi üzerinde unary ve akış tabanlı RPC

TsgcGRPCClient, HTTP/2 istemcisi üzerine kuruludur; bu yüzden çoğullanmış bağlantıyı devralır ve üzerine gRPC tel formatını ekler: HTTP/2 akışları üzerinden uzunluk önekli Protocol Buffers mesajları. Call ve CallAsync unary RPC'leri kapsar, ServerStreamingCall tek bir isteğe bir yanıt akışını yönetir; OpenClientStream/SendStreamMessage/CloseClientStream artı OpenBidiStream/SendBidiMessage/CloseBidiStream ise istemci akışlı ve çift yönlü akışlı RPC'leri kapsar. OnGRPCResponse, OnGRPCStreamMessage ve OnGRPCStreamEnd trafiği teslim eder; RetryPolicy, Interceptors ve ServiceConfig ise çağrı noktalarına dokunmadan yeniden deneme davranışı, çapraz kesen mantık ve hizmet yapılandırması ekler. Üzerine kurulu olduğu HTTP/2 istemcisi gibi, ALPN için sgcCustomIndy'ye ihtiyaç duyar.

TsgcGRPCClient sgcCustomIndy gerektirir
Google Cloud3 sınıf

Pub/Sub, Calendar ve push bildirimleri, saf HTTPS

Üç sınıf daha, bir Google servis hesabıyla kimlik doğrulayarak Google Cloud hizmetlerine düz HTTPS üzerinden ulaşır ve hiçbiri sgcCustomIndy'ye ihtiyaç duymaz. TsgcHTTPGoogleCloud_PubSub_Client, mesajları yayınlar ve çeker; konuları, abonelikleri ve anlık görüntüleri yönetir: Publish, Pull, Acknowledge, CreateTopic, CreateSubscription ve Pub/Sub REST yüzeyinin geri kalanı. TsgcHTTPGoogleCloud_Calendar_Client, Google Calendar API v3'ü sarmalar: NewCalendar, NewEvent, LoadEvents ve LoadCalendars; senkronizasyon için OnGetCalendar ve OnGetCalendarEvent olaylarıyla. TsgcHTTPGoogleCloud_FCM_Client, tek bir çağrıyla, SendMessage, bir Firebase projesine push bildirim yükü gönderir. Üçü de kod-yalnızca sınıflardır: birini oluşturun, GoogleCloudOptions'ı ayarlayın, metotları çağırın.

TsgcHTTPGoogleCloud_PubSub_Client TsgcHTTPGoogleCloud_Calendar_Client TsgcHTTPGoogleCloud_FCM_Client

Beş Değil, İki Bağımlılık

Beş sınıf, altlarında neye ihtiyaç duyduklarına göre net bir şekilde ayrılır. HTTP/2 ve gRPC ALPN'ye ihtiyaç duyar, bu da sgcCustomIndy demektir. Google Cloud, HTTPS ve bir servis hesabından başka hiçbir şeye ihtiyaç duymaz; bunu da pakete dahil Core çalışma zamanı zaten sağlar.

HTTP/2, ALPN'ye ihtiyaç duyar, bu yüzden sgcCustomIndy'ye ihtiyaç duyar

Application-Layer Protocol Negotiation, TLS el sıkışması sırasında h2'yi seçer; RAD Studio ile gelen standart Indy kitaplığının ALPN desteği yoktur. TsgcHTTP2Client bunun yerine eSeGeCe'nin özel Indy derlemesi olan sgcCustomIndy üzerine kuruludur.

gRPC, HTTP/2 istemcisi üzerinde giden Protocol Buffers'tır

TsgcGRPCClient kendi bağlantısını açmaz, Client özelliği bir TsgcHTTP2Client'tir. Unary, sunucu akışlı, istemci akışlı ve çift yönlü akışlı çağrıların hepsi altta HTTP/2 akışları olarak ilerler.

Google Cloud, HTTPS artı bir servis hesabıdır

Üç Google Cloud istemcisi, bir Google servis hesabının proje kimliği, istemci e-postası ve özel anahtarından oluşan GoogleCloudOptions.JWT ile kimlik doğrular ve REST API'lerini Core çalışma zamanının düz HTTPS yığını üzerinden çağırır. OnAuthToken ve OnAuthTokenError, token değişimini açığa çıkarır.

Core çalışma zamanı kutudadır

Bağımsız olarak, sgcWebSockets Core çalışma zamanı pakete dahildir. TsgcHTTPServer'ı ve beş istemcinin her birinin çağrı yaptığı HTTP/TLS istemci yığınını sağlar; tam kaynak kodu da her şey gibi paketin bir parçasıdır.

HTTP Sunucusu, HTTP/2 ve gRPC, Yan Yana

İki istemci sgcHTTP biriminde, sunucu ise sgcHTTP_Server biriminde tanımlanır ve TsgcGRPCClient, kendi HTTP/2 bağlantısını Client özelliği üzerinden taşır. Aynı kod Delphi 7'den 13'e ve C++ Builder'da derlenir.

uses
  sgcHTTP, sgcHTTP_Server;

var
  Server: TsgcHTTPServer;
  HTTP2: TsgcHTTP2Client;
  GRPC: TsgcGRPCClient;
begin
  // HTTP server: endpoints and static files
  Server := TsgcHTTPServer.Create(nil);
  Server.Port := 8080;
  Server.DocumentRoot := 'C:\www';
  Server.OnCommandGet := ServerCommandGet;
  Server.Active := True;

  // 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;

procedure TForm1.ServerCommandGet(AContext: TIdContext;
  ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
begin
  if ARequestInfo.Document = '/api/status' then
  begin
    AResponseInfo.ContentType := 'application/json';
    AResponseInfo.ContentText := '{"status":"ok"}';
  end;
end;
// include: sgcHTTP.hpp, sgcHTTP_Server.hpp

// HTTP server: endpoints and static files
TsgcHTTPServer *Server = new TsgcHTTPServer(this);
Server->Port = 8080;
Server->DocumentRoot = "C:\\www";
Server->OnCommandGet = ServerCommandGet;
Server->Active = true;

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

void __fastcall TForm1::ServerCommandGet(TIdContext *AContext,
    TIdHTTPRequestInfo *ARequestInfo, TIdHTTPResponseInfo *AResponseInfo)
{
  if (ARequestInfo->Document == "/api/status")
  {
    AResponseInfo->ContentType = "application/json";
    AResponseInfo->ContentText = "{\"status\":\"ok\"}";
  }
}

İki İstemci için Bir Bağımlılık, Üçü için Sıfır

HTTP/2 istemcisi ve gRPC istemcisi, sgcWebSockets'in kendisiyle aynı platform aralığını kapsayan sgcCustomIndy üzerine kuruludur. Google Cloud istemcileri düz HTTPS'tir, bu yüzden Core çalışma zamanının çalıştığı her yerde çalışırlar.

TsgcHTTP2Client & TsgcGRPCClient ALPN için sgcCustomIndy üzerine kurulu
Windows Win32 Windows Win64 Linux64 macOS iOS Android
Google Cloud istemcileri Düz HTTPS, sgcCustomIndy gerekmez
Windows Win32 Windows Win64 Linux64 macOS iOS Android
IDE desteği Tek kaynak ağacı, sürüm başına tasarım zamanı paketleri
Delphi 7'den 13'e C++ Builder
Deneme kurulum paketi sgcWebSockets All-Access deneme sürümü, sgcHTTP bileşenlerini içerir
Tek indirme, sunucu ve beş istemci

Deneme kurulum paketini indirin →

Bağımsız Bir Paket

sgcHTTP kendi başına lisanslanır, tek bir geliştirici için €398 fiyatından başlar. Tüm lisanslar tam kaynak kodunu, 1 yıllık güncellemeleri ve 50% ile 70% arasında bir yenileme indirimi içerir: Tek bir paketi yenilediğinizde 50%, iki pakette 60%, üç veya daha fazla pakette 70% indirim uygulanır. sgcAI, sgcMQ, sgcSocial, sgcCustomIndy, sgcAuth, sgcHTTP ve sgcREST ürünlerinin her biri ayrı bir paket sayılır. sgcHTTP, All-Access paketine de dahildir.

sgcHTTP

€398

Single, Team ve Site lisansları mevcuttur.

  • Statik dosyalar, oturumlar & TLS içeren HTTP sunucusu
  • Çoğullama & HPACK içeren HTTP/2 istemcisi
  • Unary & akış tabanlı RPC için gRPC istemcisi
  • Google Cloud Pub/Sub, Calendar & FCM istemcileri
  • sgcWebSockets Core çalışma zamanı dahil
  • Delphi 7'den 13'e & C++ Builder
  • Tam kaynak kodu
  • 1 yıl güncelleme

HTTP/2 ve gRPC, sgcCustomIndy eklentisine ihtiyaç duyar. Siparişinize her zaman dahildir ve gösterilen fiyat onu zaten kapsar.

Ödeme sayfasında üç kalem listelenir: sıfır ücretlendirilen sgcWebSockets Core çalışma zamanı hakkı, sgcHTTP paketinin kendisi ve her zaman dahil olan sgcCustomIndy eklentisi. Tüm fiyatlandırma ayrıntıları.

3,000+Geliştirici
20+Yıl
761+Bileşen
30+API Entegrasyonu
5Platform
30 Günlük Para İade GarantisiMemnun kalmadınız mı? Satın alımdan sonraki 30 gün içinde tam para iadesi talep edin. İade politikasına bakın

Yerel Koddan Modern HTTP, gRPC ve Google Cloud

Bir HTTP sunucusu, çoğullamalı HTTP/2, akış tabanlı gRPC ve üç Google Cloud istemcisi; çalışma zamanı pakete dahil ve kutuda tam kaynak kodu. All-Access deneme kurulum paketini indirin ve bugün her bileşeni deneyin.

eSeGeCe'nin Diğer Ürünleri

sgcHTTP'yi diğer Delphi, C++ Builder ve .NET bileşen kitaplıklarımızla eşleştirin.

sgcCustomIndy

sgcHTTP'nin HTTP/2 ve gRPC istemcilerinin üzerine kurulu olduğu özel Indy kitaplığı: ALPN, TLS 1.3 ve statik OpenSSL bağlama.

Daha fazla bilgi →

sgcWebSockets

Kitaplığın tamamı: WebSocket istemcileri ve sunucuları, HTTP/2, gRPC, IoT, P2P ve yapay zeka bileşenleri. Enterprise sürümü gRPC'yi de içerir.

Daha fazla bilgi →

sgcAI

Yapay zeka, LLM ve MCP bileşenleri. Tek bir sohbet bileşeni OpenAI, Anthropic, Gemini, DeepSeek, Ollama, Grok ve Mistral'a erişir.

Daha fazla bilgi →

sgcMQ

Yerel MQTT 3.1.1/5.0, AMQP 0.9.1, AMQP 1.0, Apache Kafka ve STOMP istemci bileşenleri; Core çalışma zamanı pakete dahildir.

Daha fazla bilgi →

sgcCrypto

Delphi ve C++ Builder için genel amaçlı kriptografi kütüphanesi: simetrik ve asimetrik şifreleme, hashing ve kuantum sonrası algoritmalar. sgcWebSockets Standard sürümünden itibaren ücretsiz gelir.

Daha fazla bilgi →

sgcSocial

WhatsApp Business Cloud API ve Telegram TDLib istemci bileşenleri; Core çalışma zamanı pakete dahildir.

Daha fazla bilgi →

sgcQUIC

Yerel OpenSSL 3.5 QUIC motoru üzerine kurulu QUIC (RFC 9000) ve HTTP/3 (RFC 9114) istemci ve sunucu bileşenleri.

Daha fazla bilgi →

sgcWebRTC

Delphi ve C++ Builder için eksiksiz bir WebRTC medya motoru: sesli ve görüntülü aramalar, veri kanalları ve ekran paylaşımı. sgcWebSockets Enterprise için bir eklenti.

Daha fazla bilgi →