Complément pour sgcWebSockets Core Delphi 7 à 13 & C++ Builder

sgcCustomIndy : la bibliothèque Indy personnalisée pour sgcWebSockets Core

Indy est la bibliothèque open source de communication client et serveur que sgcWebSockets utilise comme base pour certains de ses composants. La bibliothèque Indy standard ne prend en charge ni ALPN, ni TLS 1.3 via OpenSSL 1.1.1 ou 3.x, c'est pourquoi sgcWebSockets Enterprise est livré avec une version personnalisée d'Indy qui, elle, les prend en charge. sgcCustomIndy apporte cette même version personnalisée à sgcWebSockets Core, ce qui obligerait autrement à passer à l'édition Enterprise pour l'obtenir.

Code source complet
Rien à désinstaller
Installés côte à côte Un seul IDE Les unités personnalisées portent un préfixe sgc, les deux bibliothèques cohabitent donc dans le même IDE
Indy standard IdGlobal.pas
Indy personnalisé sgcIdGlobal.pas
0 Bibliothèques Indy à désinstaller L'Indy déjà présent dans ton IDE reste installé
0 Installations d'Indy 10 sur Delphi 7 La bibliothèque est fournie avec le pack
3 Capacités absentes d'Indy standard ALPN, TLS 1.3 sur OpenSSL 1.1.1 et 3.x, liaison statique
1 Unité pour OpenSSL statique sgcIdSSLOpenSSL_Static dans la clause uses
2 Cibles de liaison statique Windows 32 bits et 64 bits, Delphi XE2 ou plus récent

Deux choses à savoir d'abord

À qui s'adresse ce pack, et qui le possède déjà. Les deux réponses sont courtes.

C'est un complément, pas une commande séparée

sgcCustomIndy se rattache à une licence sgcWebSockets Core. Il ne se commande pas seul : il apparaît comme le premier complément recommandé à l'intérieur d'une commande Core, celle par laquelle passent les packs sgcAI, sgcMQ, sgcSocial, sgcAuth et sgcHTTP.

Le code source complet est livré avec la licence, les unités Indy se compilent donc et se parcourent pas à pas dans ton propre projet exactement comme le reste de la bibliothèque.

À vérifier d'abord

Enterprise et All-Access l'incluent déjà

La bibliothèque Indy personnalisée fait partie de sgcWebSockets Enterprise et d'eSeGeCe All-Access, où elle est activée par défaut via la directive de compilation SGC_CUSTOM_INDY dans sgcVer.inc. Si tu détiens l'une des deux, tu as déjà tout ce que décrit cette page et il n'y a rien à ajouter.

Les éditions Standard et Professional utilisent la bibliothèque Indy standard. Consulte quelle édition il te faut si tu hésites entre une montée en édition et ce pack.

Trois choses que la bibliothèque Indy standard ne sait pas faire

Chaque point ci-dessous est une capacité de la couche Indy elle-même, pas d'un composant posé au-dessus. C'est pour cela que remplacer la bibliothèque Indy est ce qui les active.

ALPNNégociation de protocole

L'extension sur laquelle HTTP/2 repose

HTTP/2 se négocie pendant le handshake TLS : le client annonce les protocoles qu'il sait parler et le serveur en choisit un. Cette négociation, c'est Application-Layer Protocol Negotiation, et elle se déroule à l'intérieur de la couche TLS, en dessous de tout ce qu'un composant HTTP peut atteindre. La bibliothèque Indy standard ne la prend pas en charge, c'est donc la bibliothèque Indy personnalisée qui rend ALPN disponible, et avec lui HTTP/2.

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

Les branches OpenSSL modernes, enfin accessibles

TLS 1.3 exige OpenSSL 1.1.1 ou OpenSSL 3.0.0, et la bibliothèque Indy standard ne prend pas en charge ces branches. La bibliothèque Indy personnalisée, si. Un client ou un serveur construit sur elle négocie donc TLS 1.3 face aux points de terminaison qui l'exigent, au lieu d'être plafonné par ce qu'offre l'ancienne API OpenSSL.

TLS 1.3 OpenSSL 1.1.1 OpenSSL 3.x
OpenSSL statiqueWindows, Delphi XE2 ou plus récent

OpenSSL à l'intérieur de l'exécutable

OpenSSL peut être lié directement dans ton application au lieu d'être chargé à l'exécution depuis les DLL libcrypto et libssl, une application TLS se déploie ainsi sous la forme d'un seul fichier. Cela ne prend effet que lorsque la bibliothèque Indy personnalisée est utilisée, ce que fournit précisément ce pack. La portée est Windows 32 bits et 64 bits sur Delphi XE2 ou plus récent, détaillée plus bas.

sgcIdSSLOpenSSL_Static Windows uniquement Delphi XE2+

Elle s'installe à côté de l'Indy que tu as déjà

Remplacer la bibliothèque Indy dans un IDE est la partie que personne n'a envie de faire, ce pack ne la demande donc pas. Les fichiers Indy personnalisés sont renommés avec un préfixe sgc, IdGlobal devient sgcIdGlobal, et les deux versions coexistent sans problème.

Indy standard, déjà dans ton IDEIndy personnalisé, ajouté par ce packCe que cela signifie
IdGlobal.passgcIdGlobal.pasDes noms d'unités différents, rien n'entre donc en collision sur le chemin de recherche
IdTCPClient.passgcIdTCPClient.pasLes deux bibliothèques se compilent dans le même IDE et dans le même projet
IdSSLOpenSSL.passgcIdSSLOpenSSL.pasTon code TLS existant continue d'utiliser l'unité qu'il utilise déjà
Rien à désinstaller

Quel que soit l'Indy déjà présent dans ton IDE, il reste installé et reste enregistré. Il n'y a aucune étape où tu retires un package, le restaures plus tard, ou gardes deux profils d'IDE sous la main.

Les projets existants ne sont pas touchés

Tout ce que tu construis déjà avec la bibliothèque Indy standard continue de se compiler avec elle, avec les mêmes unités au bit près. La version personnalisée vient en plus, elle ne remplace rien et ce n'est pas une mise à niveau appliquée à ton IDE.

Une seule directive de compilation

L'utilisation de la bibliothèque Indy personnalisée est pilotée par SGC_CUSTOM_INDY dans sgcVer.inc, dans le dossier des sources. C'est une seule directive, désactiver la version personnalisée est donc une modification d'une ligne.

Code source complet, comme toujours

Les unités Indy renommées sont livrées en source avec la licence, elles se compilent donc avec les réglages de ton projet et se parcourent pas à pas dans ton débogueur comme le reste de la bibliothèque.

Pas d'installation séparée d'Indy 10

Delphi 7 est livré avec un Indy plus ancien. Y utiliser sgcWebSockets obligerait autrement à installer toi-même Indy 10 dans l'IDE au préalable, et c'est cette étape qui arrête beaucoup de monde avant la première ligne de code. Avec la bibliothèque Indy personnalisée intégrée, cette étape disparaît.

Ce qu'était le prérequis

Trouver les sources d'Indy 10, les installer dans un IDE Delphi 7 qui n'en a jamais été équipé, faire compiler les packages, puis revenir et commencer sgcWebSockets. C'est un travail entièrement à part, fait avant la partie que tu voulais réellement faire.

Pour une équipe qui maintient encore du code Delphi 7, ce prérequis décide souvent si une bibliothèque de composants sera évaluée ou pas.

Ce que c'est avec ce pack

La bibliothèque Indy personnalisée est fournie avec le pack, dans le même dossier de sources que tout le reste. Il n'y a pas d'Indy 10 à trouver, pas d'Indy 10 à installer dans l'IDE, et pas de version d'Indy 10 à maintenir alignée avec les composants.

Ce point ne concerne que le prérequis Indy 10. La liaison statique d'OpenSSL est une fonctionnalité distincte avec sa propre portée, Windows et Delphi XE2 ou plus récent, elle ne s'applique donc pas à Delphi 7.

Une unité, un seul fichier à déployer

Il n'y a rien à configurer. Ajoute sgcIdSSLOpenSSL_Static à la clause uses de ton projet, par exemple dans le .dpr principal, et l'application utilise l'OpenSSL lié dans l'exécutable dès l'exécution suivante, aussi bien pour les composants clients que serveurs.

// 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.
Plateformes Là où un fichier objet dans ce format peut être lié
Windows 32 bits Windows 64 bits macOS iOS Android
Compilateur Les versions plus anciennes signalent E2045 Bad object file format
Delphi XE2 et plus récent Delphi 7 à XE
Prérequis Sans lui, la liaison statique n'a aucun effet
Bibliothèque Indy personnalisée utilisée SGC_CUSTOM_INDY défini
OpenSSL lié Mis à jour de temps en temps pour reprendre les derniers correctifs OpenSSL
OpenSSL 3.5.7

Sur une version ou une plateforme où la liaison statique n'est pas disponible, rien ne casse. L'application continue de charger les DLL OpenSSL comme avant, les mêmes sources se compilent donc partout.

Quel Indy utilise chaque édition

La bibliothèque Indy personnalisée n'est pas nouvelle. C'est sur elle que sgcWebSockets Enterprise est construit, et ce pack en est la voie d'accès pour Core.

Ce que tu détiensBibliothèque IndyNotes
sgcWebSockets StandardStandardPas d'ALPN, pas de TLS 1.3 sur OpenSSL 1.1.1 ou 3.x
sgcWebSockets ProfessionalStandardPas d'ALPN, pas de TLS 1.3 sur OpenSSL 1.1.1 ou 3.x
sgcWebSockets EnterprisePersonnaliséeIncluse, activée par défaut
eSeGeCe All-AccessPersonnaliséeIncluse, activée par défaut
sgcWebSockets Core seulStandardC'est ce que ce pack change
sgcWebSockets Core avec sgcCustomIndyPersonnaliséeLa même version personnalisée qu'utilise Enterprise

À ne pas confondre avec sgcIndy

sgcCustomIndy est la version préfixée sgc qui vit à côté de ton Indy existant et qu'utilisent les composants sgcWebSockets. sgcIndy est le package Indy complet et séparé, avec les unités sous leurs noms d'origine, que tu installes à la place de l'Indy de ton IDE pour que les composants Indy standard comme SMTP et FTP bénéficient du même TLS moderne. Produits différents, rôles différents.

Ajouté pendant une commande Core

sgcCustomIndy démarre à €149 pour un seul développeur. Toutes les licences incluent le code source complet, 1 an de mises à jour et une remise de renouvellement de 50 % à 70 % : 50 % si tu renouvelles un pack, 60 % pour deux, 70 % pour trois ou plus. sgcAI, sgcMQ, sgcSocial, sgcCustomIndy, sgcAuth, sgcHTTP et sgcREST comptent chacun pour un pack.

sgcCustomIndy

€149

Licences Single €149, Team €249 et Site €399 disponibles.

  • La bibliothèque Indy personnalisée qu'utilise sgcWebSockets Enterprise
  • ALPN, et avec lui HTTP/2
  • TLS 1.3 sur OpenSSL 1.1.1 et 3.x
  • Liaison statique d'OpenSSL sous Windows, Delphi XE2 ou plus récent
  • Unités préfixées sgc, ton Indy installé reste intact
  • Pas d'installation séparée d'Indy 10 sur Delphi 7
  • Code source complet
  • 1 an de mises à jour

Il n'existe pas de page de commande sgcCustomIndy séparée, parce que le pack n'est jamais l'article par lequel tu commences une commande. Il est proposé comme premier complément recommandé à l'intérieur d'une commande sgcWebSockets Core, tu l'ajoutes donc en un clic pendant que tu commandes sgcAI, sgcMQ ou sgcSocial, et il arrive sur la même licence. Comme la prise en charge de WebAuthn dans sgcAuth et les clients HTTP/2 et gRPC de sgcHTTP l'exigent tous les deux, commander l'un de ces deux packs ajoute automatiquement sgcCustomIndy à ton panier. Tu peux le retirer si tu le possèdes déjà via Enterprise ou All-Access.

Déjà sur sgcWebSockets Enterprise ou eSeGeCe All-Access ? La bibliothèque Indy personnalisée est déjà à toi, consulte les tarifs de sgcWebSockets pour voir ce que couvrent ces éditions.

3,000+Développeurs
20+Ans
761+Composants
30+Intégrations d'API
5Plateformes
Garantie satisfait ou remboursé de 30 joursPas satisfait ? Demandez un remboursement intégral dans les 30 jours suivant l'achat. Voir la politique de remboursement

La couche Indy, remise au goût du jour

ALPN et donc HTTP/2, TLS 1.3 sur OpenSSL 1.1.1 et 3.x, et OpenSSL lié à l'intérieur de l'exécutable sous Windows. Tout cela à côté de l'Indy que tu as déjà, sans rien à désinstaller et sans Indy 10 à installer sur Delphi 7.

Autres produits eSeGeCe

Associe sgcCustomIndy à nos autres bibliothèques de composants Delphi, C++ Builder et .NET.

sgcWebSockets

La bibliothèque complète : clients et serveurs WebSocket, HTTP/2, IoT, P2P et composants IA. Enterprise est construit sur cette bibliothèque Indy personnalisée.

En savoir plus →

sgcIndy

Le package Indy complet sous les noms d'unités d'origine, installé à la place de l'Indy de ton IDE pour que SMTP, FTP et les autres bénéficient d'un TLS moderne.

En savoir plus →

sgcAI

Composants IA, LLM et MCP. Un seul composant de chat atteint OpenAI, Anthropic, Gemini, DeepSeek, Ollama, Grok et Mistral.

En savoir plus →

sgcMQ

Clients natifs MQTT, AMQP 0.9.1, AMQP 1.0, Apache Kafka et STOMP. Autonome, le runtime sgcWebSockets Core est inclus.

En savoir plus →

sgcSocial

Clients WhatsApp Business Cloud API et Telegram TDLib. Autonome, le runtime sgcWebSockets Core est inclus.

En savoir plus →

sgcAuth

Client OAuth2, client JWT et prise en charge de WebAuthn. Autonome, le runtime sgcWebSockets Core est inclus.

En savoir plus →

sgcHTTP

Client HTTP/2, client gRPC et clients Google Cloud Pub/Sub, Calendar et FCM. Autonome, le runtime sgcWebSockets Core est inclus.

En savoir plus →

sgcQUIC

Composants clients et serveurs QUIC (RFC 9000) et HTTP/3 (RFC 9114) construits sur le moteur QUIC natif d'OpenSSL 3.5.

En savoir plus →

sgcHTML

Composants HTML/UI côté serveur orientés données pour Delphi, C++ Builder et .NET, avec Bootstrap 5 et htmx.

En savoir plus →

sgcSign

Signatures numériques pour l'entreprise. XAdES, PAdES, CAdES et ASiC avec 10 fournisseurs de clés et 21 profils pays de l'UE.

En savoir plus →

sgcOpenAPI

Parseur OpenAPI 3.0 et générateur de SDK. Transforme n'importe quelle spécification OpenAPI en client Delphi fortement typé en quelques secondes.

En savoir plus →