sgcWebSockets Core용 애드온 Delphi 7부터 13까지 & C++ Builder

sgcCustomIndy: sgcWebSockets Core를 위한 커스텀 Indy 라이브러리

Indy는 sgcWebSockets가 일부 컴포넌트의 기반으로 사용하는 오픈소스 클라이언트 및 서버 통신 라이브러리입니다. 표준 Indy 라이브러리는 ALPN을 지원하지 않고, OpenSSL 1.1.1이나 3.x를 통한 TLS 1.3도 지원하지 않습니다. 그래서 sgcWebSockets Enterprise는 이를 지원하는 커스텀 Indy 빌드를 함께 제공합니다. sgcCustomIndy는 바로 그 커스텀 빌드를 sgcWebSockets Core로 가져옵니다. 이 팩이 없다면 같은 기능을 얻기 위해 Enterprise 에디션으로 올라가야 합니다.

전체 소스 코드
제거할 것 없음
나란히 설치 하나의 IDE 커스텀 유닛에는 sgc 접두사가 붙으므로 두 라이브러리가 같은 IDE 안에 공존합니다
표준 Indy IdGlobal.pas
커스텀 Indy sgcIdGlobal.pas
0 제거해야 할 Indy 라이브러리 IDE에 이미 있는 Indy는 설치된 채로 남습니다
0 Delphi 7에서의 Indy 10 설치 라이브러리가 팩에 함께 들어 있습니다
3 표준 Indy에 없는 기능 ALPN, OpenSSL 1.1.1 및 3.x 기반 TLS 1.3, 정적 링크
1 정적 OpenSSL을 위한 유닛 uses 절에 sgcIdSSLOpenSSL_Static 하나
2 정적 링크 대상 Windows 32비트와 64비트, Delphi XE2 이상

먼저 알아 둘 두 가지

이 팩이 누구를 위한 것인지, 그리고 누가 이미 갖고 있는지. 두 답 모두 간단합니다.

별도 주문이 아니라 애드온입니다

sgcCustomIndy는 sgcWebSockets Core 라이선스에 붙습니다. 단독으로 주문하는 제품이 아니라, Core 주문 안에서 첫 번째 추천 애드온으로 나타납니다. sgcAI, sgcMQ, sgcSocial, sgcAuth, sgcHTTP 팩이 거쳐 가는 바로 그 주문입니다.

전체 소스 코드가 라이선스와 함께 제공되므로, Indy 유닛도 라이브러리의 나머지 부분과 똑같이 여러분의 프로젝트에서 컴파일되고 디버거로 단계별 추적이 가능합니다.

먼저 확인하세요

Enterprise와 All-Access에는 이미 포함되어 있습니다

커스텀 Indy 라이브러리는 sgcWebSockets Enterprise와 eSeGeCe All-Access의 구성 요소이며, sgcVer.incSGC_CUSTOM_INDY 컴파일러 지시자를 통해 기본으로 활성화되어 있습니다. 둘 중 하나를 보유하고 있다면 이 페이지의 모든 내용을 이미 갖고 있으므로 추가할 것이 없습니다.

Standard와 Professional 에디션은 표준 Indy 라이브러리를 사용합니다. 이 팩과 에디션 업그레이드를 저울질하고 있다면 어떤 에디션이 필요한지를 확인하세요.

표준 Indy 라이브러리가 할 수 없는 세 가지

아래 항목은 모두 그 위에 놓인 컴포넌트가 아니라 Indy 계층 자체의 기능입니다. Indy 라이브러리를 교체하는 것이 이 기능들을 켜는 방법인 이유가 바로 여기에 있습니다.

ALPN프로토콜 협상

HTTP/2가 기반으로 삼는 확장

HTTP/2는 TLS 핸드셰이크 중에 협상됩니다. 클라이언트가 말할 수 있는 프로토콜을 알리면 서버가 그중 하나를 고릅니다. 이 협상이 Application-Layer Protocol Negotiation이며, HTTP 컴포넌트가 닿을 수 있는 범위보다 아래인 TLS 계층 안에서 일어납니다. 표준 Indy 라이브러리는 이를 지원하지 않으므로, ALPN과 그에 따른 HTTP/2를 사용할 수 있게 해 주는 것이 바로 커스텀 Indy 라이브러리입니다.

ALPN HTTP/2
TLS 1.3OpenSSL 1.1.1 및 3.x

이제야 닿을 수 있는 최신 OpenSSL 브랜치

TLS 1.3에는 OpenSSL 1.1.1 또는 OpenSSL 3.0.0이 필요한데, 표준 Indy 라이브러리는 이 브랜치들을 지원하지 않습니다. 커스텀 Indy 라이브러리는 지원하므로, 그 위에서 만든 클라이언트나 서버는 예전 OpenSSL API가 제공하는 범위에 갇히지 않고 TLS 1.3을 요구하는 엔드포인트와 TLS 1.3으로 협상합니다.

TLS 1.3 OpenSSL 1.1.1 OpenSSL 3.x
정적 OpenSSLWindows, Delphi XE2 이상

실행 파일 안에 들어가는 OpenSSL

OpenSSL을 런타임에 libcryptolibssl DLL에서 로드하는 대신 애플리케이션에 직접 링크할 수 있으므로, TLS 애플리케이션을 파일 하나로 배포합니다. 이 기능은 커스텀 Indy 라이브러리를 사용할 때만 적용되며, 그 라이브러리를 제공하는 것이 바로 이 팩입니다. 적용 범위는 Delphi XE2 이상의 Windows 32비트와 64비트이고, 아래쪽에서 자세히 다룹니다.

sgcIdSSLOpenSSL_Static Windows 전용 Delphi XE2+

이미 갖고 있는 Indy 옆에 나란히 놓입니다

IDE의 Indy 라이브러리를 교체하는 일은 아무도 하고 싶어 하지 않는 작업이라, 이 팩은 그것을 요구하지 않습니다. 커스텀 Indy 파일은 sgc 접두사를 붙여 이름을 바꿨습니다. IdGlobalsgcIdGlobal이 되고, 두 버전이 문제없이 공존합니다.

IDE에 이미 있는 표준 Indy이 팩이 추가하는 커스텀 Indy그 의미
IdGlobal.passgcIdGlobal.pas유닛 이름이 다르므로 검색 경로에서 아무것도 충돌하지 않습니다
IdTCPClient.passgcIdTCPClient.pas두 라이브러리가 같은 IDE, 같은 프로젝트에서 함께 컴파일됩니다
IdSSLOpenSSL.passgcIdSSLOpenSSL.pas기존 TLS 코드는 지금 쓰던 유닛을 그대로 계속 사용합니다
제거할 것이 없습니다

IDE에 이미 있는 Indy가 무엇이든 설치된 채로, 등록된 채로 남습니다. 패키지를 제거했다가 나중에 되돌리거나 IDE 프로필을 두 개 유지해야 하는 단계는 없습니다.

기존 프로젝트는 그대로입니다

표준 Indy 라이브러리로 이미 빌드하던 것은 바이트 단위로 동일한 유닛을 대상으로 계속 컴파일됩니다. 커스텀 빌드는 추가되는 것일 뿐, 교체도 아니고 IDE에 적용되는 업그레이드도 아닙니다.

컴파일러 지시자 하나

커스텀 Indy 라이브러리의 사용 여부는 소스 폴더의 sgcVer.inc에 있는 SGC_CUSTOM_INDY로 제어합니다. 지시자 하나뿐이므로 커스텀 빌드를 다시 끄는 것도 한 줄 수정입니다.

언제나처럼 전체 소스

이름을 바꾼 Indy 유닛은 라이선스와 함께 소스로 제공되므로, 여러분의 프로젝트 설정으로 컴파일되고 라이브러리의 나머지 부분처럼 디버거에서 단계별로 추적됩니다.

Indy 10을 따로 설치할 필요가 없습니다

Delphi 7에는 더 오래된 Indy가 들어 있습니다. 그래서 그 환경에서 sgcWebSockets를 쓰려면 먼저 Indy 10을 직접 IDE에 설치해야 했고, 많은 사람이 코드 한 줄 쓰기도 전에 이 단계에서 멈췄습니다. 커스텀 Indy 라이브러리가 함께 들어 있으면 그 단계가 사라집니다.

예전에는 선행 작업이 무엇이었는지

Indy 10을 구해서, 애초에 함께 제공된 적이 없는 Delphi 7 IDE에 설치하고, 패키지가 빌드되게 만든 다음, 돌아와서 sgcWebSockets를 시작하는 것이었습니다. 정작 하고 싶었던 작업에 앞서 치러야 하는 완전히 별개의 작업입니다.

Delphi 7 코드를 아직 유지 관리하는 곳이라면, 그 선행 작업 하나가 컴포넌트 라이브러리를 아예 검토할지 말지를 가르는 경우가 많습니다.

이 팩이 있으면 어떻게 되는지

커스텀 Indy 라이브러리는 다른 모든 것과 같은 소스 폴더에 담겨 팩과 함께 제공됩니다. 찾아야 할 Indy 10도, IDE에 설치해야 할 Indy 10도, 컴포넌트와 버전을 맞춰 관리해야 할 Indy 10도 없습니다.

여기서 말하는 것은 Indy 10 선행 작업에 대한 내용뿐입니다. 정적 OpenSSL 링크는 Windows와 Delphi XE2 이상이라는 자체 적용 범위를 가진 별개의 기능이므로 Delphi 7에는 해당하지 않습니다.

유닛 하나, 배포 파일 하나

설정할 것이 없습니다. 프로젝트의 uses 절에, 예를 들어 메인 .dprsgcIdSSLOpenSSL_Static을 추가하면, 다음 실행부터 애플리케이션이 실행 파일에 링크된 OpenSSL을 사용합니다. 클라이언트 컴포넌트와 서버 컴포넌트 모두 마찬가지입니다.

// Project1.dpr
uses
  sgcIdSSLOpenSSL_Static;

// 설정은 이것이 전부입니다. 활성화할 컴파일러 지시자도,
// 선택할 OpenSSL API 버전도 없습니다. 유닛을 다시 제거하면
// 애플리케이션은 이전과 똑같이 OpenSSL DLL을 로드하는 방식으로 돌아갑니다.
플랫폼 이 형식의 오브젝트 파일을 링크할 수 있는 곳
Windows 32비트 Windows 64비트 macOS iOS Android
컴파일러 이전 버전은 E2045 Bad object file format을 보고합니다
Delphi XE2 이상 Delphi 7부터 XE까지
선행 조건 이것이 없으면 정적 링크는 아무 효과가 없습니다
커스텀 Indy 라이브러리 사용 중 SGC_CUSTOM_INDY 정의됨
링크된 OpenSSL 최신 OpenSSL 수정 사항을 반영하기 위해 수시로 업데이트됩니다
OpenSSL 3.5.7

정적 링크를 쓸 수 없는 버전이나 플랫폼에서도 문제가 생기지 않습니다. 애플리케이션은 이전처럼 OpenSSL DLL을 계속 로드하므로, 같은 소스가 어디서나 빌드됩니다.

에디션별로 사용하는 Indy

커스텀 Indy 라이브러리는 새로 나온 것이 아닙니다. sgcWebSockets Enterprise가 지금까지 기반으로 삼아 온 바로 그 라이브러리이며, 이 팩은 Core에서 그것에 이르는 경로입니다.

보유 중인 제품Indy 라이브러리비고
sgcWebSockets Standard표준ALPN 없음, OpenSSL 1.1.1 또는 3.x 기반 TLS 1.3 없음
sgcWebSockets Professional표준ALPN 없음, OpenSSL 1.1.1 또는 3.x 기반 TLS 1.3 없음
sgcWebSockets Enterprise커스텀포함, 기본으로 활성화
eSeGeCe All-Access커스텀포함, 기본으로 활성화
sgcWebSockets Core 단독표준이 팩이 바꾸는 부분입니다
sgcCustomIndy를 더한 sgcWebSockets Core커스텀Enterprise가 사용하는 것과 동일한 커스텀 빌드

sgcIndy와는 다른 제품입니다

sgcCustomIndy는 기존 Indy 옆에 나란히 놓여 sgcWebSockets 컴포넌트가 사용하는, sgc 접두사가 붙은 빌드입니다. sgcIndy는 유닛을 원래 이름 그대로 담은 별개의 전체 Indy 패키지로, IDE의 Indy를 대신해 설치하면 SMTP나 FTP 같은 표준 Indy 컴포넌트도 동일한 최신 TLS를 사용하게 됩니다. 서로 다른 제품이고, 하는 일도 다릅니다.

Core 주문 중에 추가합니다

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

sgcCustomIndy

€149

Single €149, Team €249, Site €399 라이선스를 제공합니다.

  • sgcWebSockets Enterprise가 사용하는 커스텀 Indy 라이브러리
  • ALPN, 그리고 그에 따른 HTTP/2
  • OpenSSL 1.1.1 및 3.x 기반 TLS 1.3
  • Windows에서의 정적 OpenSSL 링크, Delphi XE2 이상
  • sgc 접두사가 붙은 유닛, 설치된 Indy는 그대로 유지
  • Delphi 7에서 별도의 Indy 10 설치 불필요
  • 전체 소스 코드
  • 1년간의 업데이트

sgcCustomIndy 전용 주문 페이지는 없습니다. 이 팩으로 주문을 시작하는 경우가 없기 때문입니다. sgcWebSockets Core 주문 안에서 첫 번째 추천 애드온으로 제공되므로, sgcAI, sgcMQ, sgcSocial을 주문하는 도중에 클릭 한 번으로 추가하면 같은 라이선스로 함께 도착합니다. sgcAuth의 WebAuthn 지원과 sgcHTTP의 HTTP/2 및 gRPC 클라이언트가 모두 이를 필요로 하므로, 두 팩 중 하나를 주문하면 sgcCustomIndy가 장바구니에 자동으로 추가됩니다. Enterprise나 All-Access를 통해 이미 보유하고 있다면 제거하시면 됩니다.

이미 sgcWebSockets Enterprise나 eSeGeCe All-Access를 사용 중이신가요? 커스텀 Indy 라이브러리는 이미 여러분의 것입니다. 해당 에디션이 무엇을 포함하는지는 sgcWebSockets 가격에서 확인하세요.

3,000+개발자
20+
761+컴포넌트
30+API 통합
5플랫폼
30일 환불 보장만족하지 않으세요? 구매 후 30일 이내에 전액 환불을 요청하세요. 환불 정책 보기

최신 상태로 올라선 Indy 계층

ALPN과 그에 따른 HTTP/2, OpenSSL 1.1.1 및 3.x 기반 TLS 1.3, 그리고 Windows에서 실행 파일 안에 링크되는 OpenSSL. 이 모든 것이 이미 갖고 있는 Indy 옆에 나란히 놓이며, 제거할 것도 없고 Delphi 7에 설치할 Indy 10도 없습니다.

eSeGeCe의 다른 제품

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

sgcWebSockets

전체 라이브러리입니다. WebSocket 클라이언트와 서버, HTTP/2, IoT, P2P, AI 컴포넌트를 제공합니다. Enterprise는 이 커스텀 Indy 라이브러리 위에 구축되어 있습니다.

자세히 알아보기 →

sgcIndy

유닛을 원래 이름 그대로 담은 전체 Indy 패키지입니다. IDE의 Indy를 대신해 설치하면 SMTP, FTP를 비롯한 나머지 컴포넌트도 최신 TLS를 사용합니다.

자세히 알아보기 →

sgcAI

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

자세히 알아보기 →

sgcMQ

네이티브 MQTT, AMQP 0.9.1, AMQP 1.0, Apache Kafka, STOMP 클라이언트입니다. 단독으로 동작하며 sgcWebSockets Core 런타임이 포함되어 있습니다.

자세히 알아보기 →

sgcSocial

WhatsApp Business Cloud API 및 Telegram TDLib 클라이언트입니다. 단독으로 동작하며 sgcWebSockets Core 런타임이 포함되어 있습니다.

자세히 알아보기 →

sgcAuth

OAuth2 클라이언트, JWT 클라이언트, WebAuthn 지원입니다. 단독으로 동작하며 sgcWebSockets Core 런타임이 포함되어 있습니다.

자세히 알아보기 →

sgcHTTP

HTTP/2 클라이언트, gRPC 클라이언트, Google Cloud Pub/Sub, Calendar, FCM 클라이언트입니다. 단독으로 동작하며 sgcWebSockets Core 런타임이 포함되어 있습니다.

자세히 알아보기 →

sgcQUIC

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

자세히 알아보기 →

sgcHTML

Bootstrap 5와 htmx 기반의 Delphi, C++ Builder, .NET용 데이터 인식 서버 사이드 HTML/UI 컴포넌트입니다.

자세히 알아보기 →

sgcSign

엔터프라이즈 디지털 서명입니다. 10개의 키 제공자와 21개 EU 국가 프로필로 XAdES, PAdES, CAdES, ASiC를 지원합니다.

자세히 알아보기 →

sgcOpenAPI

OpenAPI 3.0 파서 및 SDK 생성기입니다. 어떤 OpenAPI 사양이든 몇 초 만에 강력한 형식의 Delphi 클라이언트로 바꿔 줍니다.

자세히 알아보기 →