sgcHTTP: Delphi & C++ Builder를 위한 HTTP/2, gRPC & Google Cloud 컴포넌트
단독 제품 HTTP/2, gRPC & Google Cloud

sgcHTTP: Delphi & C++ Builder를 위한 HTTP/2, gRPC & Google Cloud 컴포넌트

다섯 개의 클라이언트 컴포넌트가 세 가지 역할을 담당합니다. TsgcHTTP2Client는 하나의 TLS 연결 위에서 멀티플렉싱 스트림과 HPACK 헤더 압축을 사용해 HTTP/2로 통신합니다. TsgcGRPCClient는 그 위에 구축된 gRPC 클라이언트로, unary 및 스트리밍 Protocol Buffers 호출을 처리합니다. 나머지 세 클래스는 일반 HTTPS로 Google Cloud와 통신합니다: Pub/Sub, Calendar, Firebase Cloud Messaging입니다. sgcHTTP는 단독 제품으로, 다섯 클라이언트 모두가 기반으로 삼는 sgcWebSockets Core 런타임을 함께 포함합니다.

전체 소스 코드
Delphi 7부터 13까지 & C++ Builder
번들 런타임 sgcWebSockets Core 모든 클라이언트를 뒷받침하는 HTTP, TLS, JSON 런타임
HTTP/2 TsgcHTTP2Client
gRPC TsgcGRPCClient
2 팔레트 컴포넌트 HTTP/2 클라이언트 & gRPC 클라이언트, 팔레트의 한 페이지
5 전체 클라이언트 클래스 HTTP/2, gRPC와 Google Cloud 클라이언트 3종
3 Google Cloud 서비스 Pub/Sub, Calendar, Firebase Cloud Messaging
100% 포함된 소스 코드 다섯 클라이언트와 번들로 포함된 Core 런타임
12 업데이트 개월 수 라이선스가 유효한 동안 발행되는 모든 릴리스

먼저 알아 두면 좋은 두 가지

sgcHTTP에 무엇이 필요한지, 그리고 무엇이 필요하지 않은지. 두 답 모두 간단합니다.

sgcHTTP는 자체 완결형 제품입니다

단독 제품으로 sgcWebSockets Core 런타임이 포함되어 있습니다. 모든 컴포넌트가 요청을 보내는 HTTP/TLS 클라이언트 스택과, Google Cloud 응답을 디코딩하는 JSON 계층까지 모두 포함됩니다. 하나의 SKU, 하나의 설치 프로그램입니다.

모든 라이선스에 전체 소스 코드가 함께 제공되므로, 다섯 클라이언트와 그 아래의 런타임이 바이너리 속으로 사라지지 않고 직접 디버거로 단계별 추적이 가능합니다.

다섯 중 둘은 추가 구성 요소 필요

HTTP/2 & gRPC에는 sgcCustomIndy가 필요합니다

HTTP/2는 TLS 핸드셰이크 중 ALPN으로 h2 프로토콜을 협상하는데, RAD Studio에 기본으로 포함된 표준 Indy 라이브러리는 ALPN을 지원하지 않습니다. 그래서 sgcHTTP의 HTTP/2 클라이언트와 gRPC 클라이언트는 대신 sgcCustomIndy 위에 구축되어 있으며, sgcHTTP를 주문하면 장바구니에 자동으로 추가됩니다. 이미 라이선스를 보유하고 있다면 결제 시 제거할 수 있습니다.

Pub/Sub, Calendar, Firebase Cloud Messaging 세 Google Cloud 클라이언트는 일반 HTTPS입니다. Core 런타임만으로 동작하며 sgcCustomIndy가 전혀 필요하지 않습니다.

두 개의 팔레트 컴포넌트, 세 개의 Google Cloud 클라이언트

HTTP/2 클라이언트와 gRPC 클라이언트는 sgcHTTP 유닛에 선언된 SGC HTTP 팔레트 페이지의 비시각 컴포넌트입니다. 폼에 올리거나 코드에서 생성한 다음, 연결 옵션을 설정하고 이벤트를 연결한 뒤 타입이 지정된 요청 메서드를 호출하면 됩니다. 세 개의 Google Cloud 클라이언트는 같은 유닛에 코드 전용 클래스로 들어 있어 폼에 올릴 것이 없습니다. 생성한 다음 GoogleCloudOptions를 설정하고 메서드를 바로 호출하면 됩니다.

HTTP/2컴포넌트 1종

하나의 TLS 연결 위에서 멀티플렉싱되는 스트림

TsgcHTTP2Client는 HTTP/2(RFC 9113)로 통신합니다. 여러 요청이 하나의 TCP 연결을 독립적인 스트림으로 공유하므로, 느린 응답 하나가 뒤따르는 다른 응답을 막지 않습니다. 헤더는 HPACK으로 압축되며, h2 프로토콜은 TLS 핸드셰이크 중 ALPN으로 협상됩니다. 이것이 이 컴포넌트가 표준 Indy 라이브러리 대신 sgcCustomIndy 위에 구축된 이유입니다. Connect, Get, Post, Put, Patch, Delete, Options 등 모든 메서드를 지원하며, 각각 동기 호출과 Async 버전이 함께 제공됩니다. 이벤트는 연결 생명 주기를 그대로 드러냅니다: OnHTTP2Connect, OnHTTP2Response, 청크 본문을 위한 OnHTTP2ResponseFragment, 서버 푸시를 위한 OnHTTP2PushPromise, OnHTTP2GoAway, OnHTTP2Disconnect입니다. HTTP2Options는 로컬 설정 프레임을 구성하며, TLSOptionsAuthentication은 sgc HTTP 스택의 나머지 부분과 공유됩니다.

TsgcHTTP2Client sgcCustomIndy 필요
gRPC컴포넌트 1종

HTTP/2 클라이언트 위의 unary 및 스트리밍 RPC

TsgcGRPCClient는 HTTP/2 클라이언트 위에 구축되어 있어 멀티플렉싱 연결을 그대로 물려받고, 그 위에 gRPC 와이어 형식을 더합니다. HTTP/2 스트림 위에서 오가는 길이 접두사가 붙은 Protocol Buffers 메시지입니다. CallCallAsync는 unary RPC를 처리하고, ServerStreamingCall은 하나의 요청에 대한 응답 스트림을 처리하며, OpenClientStream/SendStreamMessage/CloseClientStreamOpenBidiStream/SendBidiMessage/CloseBidiStream은 클라이언트 스트리밍과 양방향 스트리밍 RPC를 처리합니다. OnGRPCResponse, OnGRPCStreamMessage, OnGRPCStreamEnd가 트래픽을 전달하며, RetryPolicy, Interceptors, ServiceConfig는 호출 지점을 건드리지 않고도 재시도 동작, 횡단 관심사 로직, 서비스 구성을 더해 줍니다. 기반이 되는 HTTP/2 클라이언트와 마찬가지로 ALPN을 위해 sgcCustomIndy가 필요합니다.

TsgcGRPCClient sgcCustomIndy 필요
Google Cloud클래스 3종

Pub/Sub, Calendar, 푸시 알림, 순수 HTTPS

나머지 세 클래스는 Google 서비스 계정으로 인증해 일반 HTTPS로 Google Cloud 서비스와 통신하며, 어느 것도 sgcCustomIndy가 필요하지 않습니다. TsgcHTTPGoogleCloud_PubSub_Client는 메시지를 게시하고 가져오며 토픽, 구독, 스냅샷을 관리합니다: Publish, Pull, Acknowledge, CreateTopic, CreateSubscription 등 Pub/Sub REST API 전체를 다룹니다. TsgcHTTPGoogleCloud_Calendar_Client는 Google Calendar API v3를 감쌉니다: NewCalendar, NewEvent, LoadEvents, LoadCalendars가 있고, 동기화를 위한 OnGetCalendarOnGetCalendarEvent 이벤트가 있습니다. TsgcHTTPGoogleCloud_FCM_ClientSendMessage 호출 한 번으로 Firebase 프로젝트에 푸시 알림 페이로드를 전송합니다. 세 클래스 모두 코드 전용입니다. 생성한 다음 GoogleCloudOptions를 설정하고 메서드를 호출하면 됩니다.

TsgcHTTPGoogleCloud_PubSub_Client TsgcHTTPGoogleCloud_Calendar_Client TsgcHTTPGoogleCloud_FCM_Client

다섯이 아니라 두 개의 의존성

다섯 클래스는 아래에서 무엇을 필요로 하는지에 따라 깔끔하게 나뉩니다. HTTP/2와 gRPC는 ALPN이 필요하므로 sgcCustomIndy가 필요합니다. Google Cloud는 HTTPS와 서비스 계정 외에는 아무것도 필요하지 않으며, 번들로 포함된 Core 런타임이 이를 이미 제공합니다.

HTTP/2는 ALPN이 필요하므로 sgcCustomIndy가 필요합니다

Application-Layer Protocol Negotiation은 TLS 핸드셰이크 중 h2를 선택하는데, RAD Studio에 기본으로 포함된 표준 Indy 라이브러리는 ALPN을 지원하지 않습니다. TsgcHTTP2Client는 대신 eSeGeCe의 커스텀 Indy 빌드인 sgcCustomIndy 위에 구축되어 있습니다.

gRPC는 HTTP/2 클라이언트 위에서 실려 가는 Protocol Buffers입니다

TsgcGRPCClient는 자체 연결을 열지 않으며, Client 속성이 곧 TsgcHTTP2Client입니다. unary, 서버 스트리밍, 클라이언트 스트리밍, 양방향 호출 모두 그 아래에서 HTTP/2 스트림으로 이동합니다.

Google Cloud는 HTTPS와 서비스 계정입니다

세 Google Cloud 클라이언트는 Google 서비스 계정의 프로젝트 ID, 클라이언트 이메일, 개인 키로 구성된 GoogleCloudOptions.JWT로 인증하고, Core 런타임의 일반 HTTPS 스택을 통해 REST API를 호출합니다. OnAuthTokenOnAuthTokenError가 토큰 교환을 그대로 드러냅니다.

Core 런타임이 패키지 안에 포함되어 있습니다

단독 제품으로 sgcWebSockets Core 런타임이 포함되어 있습니다. 다섯 클라이언트 모두가 호출을 통과시키는 HTTP/TLS 클라이언트 스택을 제공하며, 다른 모든 것과 마찬가지로 전체 소스가 패키지에 포함됩니다.

나란히 놓인 HTTP/2와 gRPC

두 컴포넌트 모두 sgcHTTP 유닛에 선언되어 있으며, TsgcGRPCClientClient 속성을 통해 자체 HTTP/2 연결을 그대로 지닙니다. 동일한 코드가 Delphi 7부터 13까지와 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);
}

두 클라이언트에는 하나의 의존성, 세 클라이언트에는 없음

HTTP/2 클라이언트와 gRPC 클라이언트는 sgcWebSockets 자체와 동일한 플랫폼 범위를 지닌 sgcCustomIndy 위에 구축되어 있습니다. Google Cloud 클라이언트는 순수 HTTPS이므로 Core 런타임이 동작하는 모든 곳에서 실행됩니다.

TsgcHTTP2Client & TsgcGRPCClient ALPN을 위해 sgcCustomIndy 위에 구축
Windows Win32 Windows Win64 Linux64 macOS iOS Android
Google Cloud 클라이언트 순수 HTTPS, sgcCustomIndy 불필요
Windows Win32 Windows Win64 Linux64 macOS iOS Android
IDE 지원 하나의 소스 트리, 버전별 디자인 타임 패키지
Delphi 7부터 13까지 C++ Builder
체험판 설치 프로그램 sgcWebSockets All-Access 체험판에는 sgcHTTP 컴포넌트가 포함되어 있습니다
다운로드 한 번으로 다섯 클라이언트 모두

체험판 설치 프로그램 다운로드 →

단독으로 완결되는 패키지

sgcHTTP는 단독으로 라이선스되며 개발자 1인 기준 €249부터 시작합니다. 모든 라이선스에 전체 소스 코드, 1년간의 업데이트, 50%에서 70%까지의 갱신 할인이 포함됩니다. 팩 1개를 갱신하면 50%, 2개는 60%, 3개 이상은 70%입니다. sgcAI, sgcMQ, sgcSocial, sgcCustomIndy, sgcAuth, sgcHTTP는 각각 한 팩으로 계산됩니다. sgcHTTP는 All-Access 번들에도 포함됩니다.

sgcHTTP

€249

Single, Team, Site 라이선스를 제공합니다.

  • 멀티플렉싱 & HPACK을 지원하는 HTTP/2 클라이언트
  • gRPC 클라이언트, unary & 스트리밍 RPC
  • Google Cloud Pub/Sub, Calendar & FCM 클라이언트
  • sgcWebSockets Core 런타임 포함
  • Delphi 7부터 13까지 & C++ Builder
  • 전체 소스 코드
  • 1년간의 업데이트

HTTP/2와 gRPC에는 sgcCustomIndy 추가 구성 요소가 필요합니다. 결제 시 자동으로 추가되며, 이미 라이선스를 보유하고 있다면 제거할 수 있습니다.

결제 화면에는 세 항목이 표시됩니다. 0원으로 청구되는 sgcWebSockets Core 런타임 사용 권한, sgcHTTP 패키지 자체, 그리고 자동으로 추가되는 sgcCustomIndy 추가 구성 요소입니다. 자세한 가격 정보.

3,000+Developers
20+Years
761+Components
30+API Integrations
5Platforms
30일 환불 보장만족하지 않으세요? 구매 후 30일 이내에 전액 환불을 요청하세요. 환불 정책 보기

네이티브 코드로 만나는 최신 HTTP, gRPC, Google Cloud

멀티플렉싱 HTTP/2, 스트리밍 gRPC, 그리고 세 개의 Google Cloud 클라이언트까지, 런타임이 함께 포함되어 있고 전체 소스 코드가 들어 있습니다. All-Access 체험판 설치 프로그램을 다운로드하고 오늘 바로 다섯 컴포넌트를 모두 사용해 보세요.

eSeGeCe의 다른 제품

sgcHTTP를 Delphi, C++ Builder, .NET용 다른 컴포넌트 라이브러리와 함께 사용해 보세요.

sgcCustomIndy

sgcHTTP의 HTTP/2와 gRPC 클라이언트가 기반으로 삼는 커스텀 Indy 라이브러리입니다. ALPN, TLS 1.3, 정적 OpenSSL 링킹을 지원합니다.

자세히 알아보기 →

sgcWebSockets

전체 라이브러리입니다. WebSocket 클라이언트와 서버, HTTP/2, gRPC, IoT, P2P, AI 컴포넌트를 제공합니다. Enterprise 에디션에는 gRPC도 포함되어 있습니다.

자세히 알아보기 →

sgcAI

AI, LLM, MCP 컴포넌트입니다. 채팅 컴포넌트 하나로 OpenAI, Anthropic, Gemini, DeepSeek, Ollama, Grok, Mistral에 연결합니다.

자세히 알아보기 →

sgcMQ

네이티브 MQTT 3.1.1/5.0, AMQP 0.9.1, AMQP 1.0, Apache Kafka, STOMP 클라이언트 컴포넌트이며, Core 런타임이 함께 포함되어 있습니다.

자세히 알아보기 →

sgcSocial

WhatsApp Business Cloud API 및 Telegram TDLib 클라이언트 컴포넌트이며, Core 런타임이 함께 포함되어 있습니다.

자세히 알아보기 →

sgcQUIC

네이티브 OpenSSL 3.5 QUIC 엔진 위에 구축된 QUIC(RFC 9000) 및 HTTP/3(RFC 9114) 클라이언트 및 서버 컴포넌트입니다.

자세히 알아보기 →