Add-on para sgcWebSockets Core Delphi 7 a 13 & C++ Builder

sgcCustomIndy: la librería Indy personalizada para sgcWebSockets Core

Indy es la librería de comunicaciones cliente y servidor de código abierto que sgcWebSockets usa como base para algunos de sus componentes. La librería Indy estándar no admite ALPN, y tampoco admite TLS 1.3 a través de OpenSSL 1.1.1 o 3.x, así que sgcWebSockets Enterprise incluye una compilación personalizada de Indy que sí lo hace. sgcCustomIndy lleva esa misma compilación personalizada a sgcWebSockets Core, donde de otro modo conseguirla significaría pasar a la edición Enterprise.

Código fuente completo
Nada que desinstalar
Instalados en paralelo Un solo IDE Las unidades personalizadas llevan el prefijo sgc, así que las dos librerías conviven en el mismo IDE
Indy estándar IdGlobal.pas
Indy personalizado sgcIdGlobal.pas
0 Librerías Indy que desinstalar El Indy que ya está en tu IDE sigue instalado
0 Instalaciones de Indy 10 en Delphi 7 La librería viene con el pack
3 Capacidades que le faltan al Indy estándar ALPN, TLS 1.3 sobre OpenSSL 1.1.1 y 3.x, enlazado estático
1 Unidad para OpenSSL estático sgcIdSSLOpenSSL_Static en la cláusula uses
2 Destinos de enlazado estático Windows de 32 y 64 bits, Delphi XE2 o superior

Dos cosas que conviene saber primero

Para quién es este pack y quién ya lo tiene. Las dos respuestas son breves.

Es un add-on, no un pedido aparte

sgcCustomIndy se asocia a una licencia de sgcWebSockets Core. No se pide por separado: aparece como el primer add-on recomendado dentro de un pedido de Core, que es el pedido por el que pasan los packs sgcAI, sgcMQ, sgcSocial, sgcAuth y sgcHTTP.

El código fuente completo se entrega con la licencia, así que las unidades de Indy compilan y se depuran paso a paso en tu propio proyecto igual que el resto de la librería.

Compruébalo primero

Enterprise y All-Access ya lo incluyen

La librería Indy personalizada forma parte de sgcWebSockets Enterprise y de eSeGeCe All-Access, donde viene activada por defecto mediante el define de compilación SGC_CUSTOM_INDY en sgcVer.inc. Si tienes cualquiera de las dos, ya dispones de todo lo que hay en esta página y no hay nada que añadir.

Las ediciones Standard y Professional usan la librería Indy estándar. Consulta qué edición necesitas si estás sopesando una actualización de edición frente a este pack.

Tres cosas que la librería Indy estándar no puede hacer

Cada punto de aquí abajo es una capacidad de la propia capa Indy, no de un componente que se apoya encima. Por eso cambiar la librería Indy es lo que los activa.

ALPNNegociación de protocolo

La extensión sobre la que se construye HTTP/2

HTTP/2 se negocia durante el handshake TLS: el cliente anuncia los protocolos que sabe hablar y el servidor elige uno. Esa negociación es Application-Layer Protocol Negotiation, y ocurre dentro de la capa TLS, por debajo de todo lo que un componente HTTP puede alcanzar. La librería Indy estándar no la admite, así que la librería Indy personalizada es la que pone ALPN, y con él HTTP/2, a tu alcance.

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

Las ramas modernas de OpenSSL, por fin al alcance

TLS 1.3 necesita OpenSSL 1.1.1 u OpenSSL 3.0.0, y la librería Indy estándar no admite esas ramas. La librería Indy personalizada sí, así que un cliente o un servidor construido sobre ella negocia TLS 1.3 con los extremos que lo exigen, en lugar de quedarse limitado a lo que ofrece la API antigua de OpenSSL.

TLS 1.3 OpenSSL 1.1.1 OpenSSL 3.x
OpenSSL estáticoWindows, Delphi XE2 o superior

OpenSSL dentro del ejecutable

OpenSSL se puede enlazar directamente dentro de tu aplicación en lugar de cargarse en tiempo de ejecución desde las DLL libcrypto y libssl, así que una aplicación con TLS se despliega como un único archivo. Solo surte efecto cuando se está usando la librería Indy personalizada, que es lo que aporta este pack. El alcance es Windows de 32 y 64 bits en Delphi XE2 o superior, y lo vemos en detalle más abajo.

sgcIdSSLOpenSSL_Static Solo Windows Delphi XE2+

Se instala junto al Indy que ya tienes

Sustituir la librería Indy de un IDE es la parte que nadie quiere hacer, así que este pack no la pide. Los archivos del Indy personalizado se renombran con el prefijo sgc, IdGlobal pasa a ser sgcIdGlobal, y las dos versiones conviven sin problemas.

Indy estándar, ya en tu IDEIndy personalizado, que añade este packQué significa
IdGlobal.passgcIdGlobal.pasNombres de unidad distintos, así que nada choca en la ruta de búsqueda
IdTCPClient.passgcIdTCPClient.pasLas dos librerías compilan en el mismo IDE y en el mismo proyecto
IdSSLOpenSSL.passgcIdSSLOpenSSL.pasTu código TLS actual sigue usando la unidad que ya usa
Nada que desinstalar

El Indy que tenga ya tu IDE sigue instalado y sigue registrado. No hay ningún paso en el que quites un paquete, lo restaures después o mantengas dos perfiles de IDE.

Tus proyectos actuales no se tocan

Todo lo que ya compilas contra la librería Indy estándar sigue compilando contra ella, con las mismas unidades byte a byte. La compilación personalizada es un añadido, no es un reemplazo ni una actualización que se aplique a tu IDE.

Un solo define de compilación

El uso de la librería Indy personalizada se controla con SGC_CUSTOM_INDY en sgcVer.inc, dentro de la carpeta de código fuente. Es un único define, así que volver a desactivar la compilación personalizada es un cambio de una línea.

Código fuente completo, como siempre

Las unidades de Indy renombradas se entregan como código fuente con la licencia, así que compilan con la configuración de tu proyecto y se depuran paso a paso en tu depurador como el resto de la librería.

Sin instalación aparte de Indy 10

Delphi 7 viene con un Indy antiguo. Usar sgcWebSockets ahí significaría, de otro modo, instalar antes Indy 10 en el IDE por tu cuenta, que es el paso que frena a mucha gente antes de haber escrito una línea de código. Con la librería Indy personalizada incluida, ese paso desaparece.

Cómo era antes el requisito previo

Conseguir Indy 10, instalarlo en un IDE Delphi 7 que nunca lo trajo de fábrica, lograr que los paquetes compilen y luego volver y empezar con sgcWebSockets. Es un trabajo completamente aparte, hecho antes de la parte que de verdad querías hacer.

Para un equipo que todavía mantiene código en Delphi 7, ese requisito previo suele ser lo que decide si una librería de componentes llega siquiera a evaluarse.

Cómo es con este pack

La librería Indy personalizada viene con el pack, en la misma carpeta de código fuente que todo lo demás. No hay ningún Indy 10 que buscar, ninguno que instalar en el IDE y ninguna versión de Indy 10 que mantener sincronizada con los componentes.

Esto se refiere solo al requisito de Indy 10. El enlazado estático de OpenSSL es una funcionalidad aparte con su propio alcance, Windows y Delphi XE2 o superior, así que no se aplica en Delphi 7.

Una unidad, un solo archivo que desplegar

No hay nada que configurar. Añade sgcIdSSLOpenSSL_Static a la cláusula uses de tu proyecto, por ejemplo en el .dpr principal, y la aplicación usará el OpenSSL enlazado en el ejecutable la próxima vez que se ejecute, tanto en los componentes cliente como en los de servidor.

// Project1.dpr
uses
  sgcIdSSLOpenSSL_Static;

// That is the whole configuration. No compiler directive to enable,
// no OpenSSL API version to choose. Remove the unit again and the
// application goes back to loading the OpenSSL DLLs exactly as before.
Plataformas Dónde se puede enlazar un archivo objeto en este formato
Windows de 32 bits Windows de 64 bits macOS iOS Android
Compilador Las versiones anteriores dan E2045 Bad object file format
Delphi XE2 y superiores Delphi 7 a XE
Requisito previo Sin él, el enlazado estático no surte efecto
Librería Indy personalizada en uso SGC_CUSTOM_INDY definido
OpenSSL enlazado Se actualiza cada cierto tiempo para incorporar las últimas correcciones de OpenSSL
OpenSSL 3.5.7

En una versión o una plataforma donde el enlazado estático no está disponible, no se rompe nada. La aplicación sigue cargando las DLL de OpenSSL como antes, así que el mismo código fuente compila en todas partes.

Qué Indy usa cada edición

La librería Indy personalizada no es nueva. Es la base sobre la que se ha construido sgcWebSockets Enterprise, y este pack es la vía para llegar a ella desde Core.

Lo que tienesLibrería IndyNotas
sgcWebSockets StandardEstándarSin ALPN, sin TLS 1.3 sobre OpenSSL 1.1.1 o 3.x
sgcWebSockets ProfessionalEstándarSin ALPN, sin TLS 1.3 sobre OpenSSL 1.1.1 o 3.x
sgcWebSockets EnterprisePersonalizadaIncluida, activada por defecto
eSeGeCe All-AccessPersonalizadaIncluida, activada por defecto
sgcWebSockets Core por sí soloEstándarEsto es lo que cambia el pack
sgcWebSockets Core con sgcCustomIndyPersonalizadaLa misma compilación personalizada que usa Enterprise

No es lo mismo que sgcIndy

sgcCustomIndy es la compilación con prefijo sgc que convive con tu Indy actual y que usan los componentes de sgcWebSockets. sgcIndy es el paquete Indy completo aparte, con las unidades bajo sus nombres originales, que instalas en lugar del Indy de tu IDE para que componentes Indy estándar como SMTP y FTP tengan ese mismo TLS moderno. Productos distintos, trabajos distintos.

Se añade durante un pedido de Core

sgcCustomIndy parte de €149 para un solo desarrollador. Todas las licencias incluyen código fuente completo, 1 año de actualizaciones y un descuento de renovación del 50% al 70%: un 50% al renovar un pack, un 60% con dos y un 70% con tres o más. sgcAI, sgcMQ, sgcSocial, sgcCustomIndy, sgcAuth, sgcHTTP y sgcREST cuentan cada uno como un pack.

sgcCustomIndy

€149

Licencias Single €149, Team €249 y Site €399 disponibles.

  • La librería Indy personalizada que usa sgcWebSockets Enterprise
  • ALPN y, con él, HTTP/2
  • TLS 1.3 sobre OpenSSL 1.1.1 y 3.x
  • Enlazado estático de OpenSSL en Windows, Delphi XE2 o superior
  • Unidades con prefijo sgc, así que tu Indy instalado no se toca
  • Sin instalación aparte de Indy 10 en Delphi 7
  • Código fuente completo
  • 1 año de actualizaciones

No hay una página de pedido propia para sgcCustomIndy, porque el pack nunca es el artículo con el que se inicia un pedido. Se ofrece como el primer add-on recomendado dentro de un pedido de sgcWebSockets Core, así que lo añades con un clic mientras pides sgcAI, sgcMQ o sgcSocial, y llega en la misma licencia. Como el soporte de WebAuthn de sgcAuth y los clientes HTTP/2 y gRPC de sgcHTTP lo necesitan, pedir cualquiera de esos dos packs añade sgcCustomIndy a tu carrito automáticamente. Puedes quitarlo si ya lo tienes a través de Enterprise o All-Access.

¿Ya tienes sgcWebSockets Enterprise o eSeGeCe All-Access? La librería Indy personalizada ya es tuya, consulta los precios de sgcWebSockets para ver qué cubren esas ediciones.

3,000+Desarrolladores
20+Años
761+Componentes
30+Integraciones de API
5Plataformas
Garantía de devolución de 30 días¿No estás satisfecho? Solicita un reembolso completo en los 30 días posteriores a la compra. Ver política de reembolso

La capa Indy, puesta al día

ALPN y, por tanto, HTTP/2, TLS 1.3 sobre OpenSSL 1.1.1 y 3.x, y OpenSSL enlazado dentro del ejecutable en Windows. Todo ello junto al Indy que ya tienes, sin nada que desinstalar y sin ningún Indy 10 que instalar en Delphi 7.

Otros productos de eSeGeCe

Combina sgcCustomIndy con nuestras otras bibliotecas de componentes para Delphi, C++ Builder y .NET.

sgcWebSockets

La librería completa: clientes y servidores WebSocket, HTTP/2, IoT, P2P y componentes de IA. Enterprise está construido sobre esta librería Indy personalizada.

Más información →

sgcIndy

El paquete Indy completo con los nombres de unidad originales, instalado en lugar del Indy de tu IDE para que SMTP, FTP y los demás tengan TLS moderno.

Más información →

sgcAI

Componentes de IA, LLM y MCP. Un solo componente de chat llega a OpenAI, Anthropic, Gemini, DeepSeek, Ollama, Grok y Mistral.

Más información →

sgcMQ

Clientes nativos de MQTT, AMQP 0.9.1, AMQP 1.0, Apache Kafka y STOMP. Independiente, el runtime sgcWebSockets Core viene incluido.

Más información →

sgcSocial

Clientes de WhatsApp Business Cloud API y de Telegram TDLib. Independiente, el runtime sgcWebSockets Core viene incluido.

Más información →

sgcAuth

Cliente OAuth2, cliente JWT y soporte de WebAuthn. Independiente, el runtime sgcWebSockets Core viene incluido.

Más información →

sgcHTTP

Cliente HTTP/2, cliente gRPC y clientes de Google Cloud Pub/Sub, Calendar y FCM. Independiente, el runtime sgcWebSockets Core viene incluido.

Más información →

sgcQUIC

Componentes cliente y servidor de QUIC (RFC 9000) y HTTP/3 (RFC 9114) construidos sobre el motor QUIC nativo de OpenSSL 3.5.

Más información →

sgcHTML

Componentes HTML/UI del lado del servidor con vinculación a datos para Delphi, C++ Builder y .NET, con Bootstrap 5 y htmx.

Más información →

sgcSign

Firmas digitales empresariales. XAdES, PAdES, CAdES y ASiC con 10 proveedores de claves y 21 perfiles por país de la UE.

Más información →

sgcOpenAPI

Parser de OpenAPI 3.0 y generador de SDK. Convierte cualquier especificación OpenAPI en un cliente Delphi fuertemente tipado en segundos.

Más información →