Add-on voor sgcWebSockets Core Delphi 7 tot 13 & C++ Builder

sgcCustomIndy: de custom Indy-bibliotheek voor sgcWebSockets Core

Indy is de opensource client- en servercommunicatiebibliotheek die sgcWebSockets als basis gebruikt voor een deel van zijn componenten. De standaard Indy-bibliotheek ondersteunt geen ALPN, en ook geen TLS 1.3 via OpenSSL 1.1.1 of 3.x, daarom levert sgcWebSockets Enterprise een custom build van Indy die dat wel doet. sgcCustomIndy brengt precies die custom build naar sgcWebSockets Core, waarvoor je anders naar de Enterprise-editie zou moeten overstappen.

Volledige broncode
Niets te verwijderen
Naast elkaar geïnstalleerd Eén IDE De custom units hebben een sgc-prefix, dus beide bibliotheken staan in dezelfde IDE
Standaard Indy IdGlobal.pas
Custom Indy sgcIdGlobal.pas
0 Indy-bibliotheken om te verwijderen De Indy die al in je IDE staat blijft geïnstalleerd
0 Indy 10-installaties op Delphi 7 De bibliotheek zit in het pakket
3 Mogelijkheden die standaard Indy mist ALPN, TLS 1.3 via OpenSSL 1.1.1 en 3.x, statisch linken
1 Unit voor statische OpenSSL sgcIdSSLOpenSSL_Static in de uses-clausule
2 Doelplatformen voor statisch linken Windows 32 bit en 64 bit, Delphi XE2 of nieuwer

Twee dingen die je vooraf moet weten

Voor wie dit pakket bedoeld is, en wie het al heeft. Beide antwoorden zijn kort.

Het is een add-on, geen aparte bestelling

sgcCustomIndy hangt aan een licentie voor sgcWebSockets Core. Je bestelt het niet los: het verschijnt als de eerste aanbevolen add-on binnen een Core-bestelling, dezelfde bestelling waar ook de pakketten sgcAI, sgcMQ, sgcSocial, sgcAuth en sgcHTTP doorheen lopen.

De volledige broncode zit bij de licentie, dus de Indy-units compileren en zijn te doorlopen in je eigen project, precies zoals de rest van de bibliotheek.

Eerst controleren

Enterprise en All-Access bevatten het al

De custom Indy-bibliotheek maakt deel uit van sgcWebSockets Enterprise en van eSeGeCe All-Access, waar hij standaard aanstaat via de compilerdefine SGC_CUSTOM_INDY in sgcVer.inc. Heb je een van die twee, dan heb je alles op deze pagina al en valt er niets toe te voegen.

De edities Standard en Professional gebruiken de standaard Indy-bibliotheek. Bekijk welke editie je nodig hebt als je een editie-upgrade afweegt tegen dit pakket.

Drie dingen die de standaard Indy-bibliotheek niet kan

Elk punt hieronder is een mogelijkheid van de Indy-laag zelf, niet van een component die daarboven zit. Daarom is het wisselen van Indy-bibliotheek precies wat ze aanzet.

ALPNProtocolonderhandeling

De extensie waarop HTTP/2 is gebouwd

HTTP/2 wordt tijdens de TLS-handshake onderhandeld: de client geeft aan welke protocollen hij spreekt en de server kiest er één. Die onderhandeling heet Application-Layer Protocol Negotiation en gebeurt binnen de TLS-laag, onder alles wat een HTTP-component kan bereiken. De standaard Indy-bibliotheek ondersteunt dat niet, dus de custom Indy-bibliotheek is wat ALPN, en daarmee HTTP/2, beschikbaar maakt.

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

De moderne OpenSSL-takken, eindelijk bereikbaar

TLS 1.3 heeft OpenSSL 1.1.1 of OpenSSL 3.0.0 nodig, en de standaard Indy-bibliotheek ondersteunt die takken niet. De custom Indy-bibliotheek wel, dus een client of server die daarop gebouwd is onderhandelt TLS 1.3 met endpoints die dat vereisen, in plaats van vast te zitten aan wat de oudere OpenSSL-API biedt.

TLS 1.3 OpenSSL 1.1.1 OpenSSL 3.x
Statische OpenSSLWindows, Delphi XE2 of nieuwer

OpenSSL in het uitvoerbare bestand

OpenSSL kan rechtstreeks in je toepassing worden gelinkt in plaats van tijdens runtime uit de DLL's libcrypto en libssl te worden geladen, zodat een TLS-toepassing als één bestand wordt uitgerold. Het werkt alleen wanneer de custom Indy-bibliotheek in gebruik is, en dat is precies wat dit pakket levert. Het bereik is Windows 32 bit en 64 bit op Delphi XE2 of nieuwer, verderop uitgebreid beschreven.

sgcIdSSLOpenSSL_Static Alleen Windows Delphi XE2+

Het staat naast de Indy die je al hebt

De Indy-bibliotheek in een IDE vervangen is het onderdeel dat niemand wil doen, dus dit pakket vraagt daar niet om. De custom Indy-bestanden zijn hernoemd met een sgc-prefix, IdGlobal wordt sgcIdGlobal, en beide versies bestaan probleemloos naast elkaar.

Standaard Indy, al in je IDECustom Indy, toegevoegd door dit pakketWat dat betekent
IdGlobal.passgcIdGlobal.pasAndere unitnamen, dus niets botst op het zoekpad
IdTCPClient.passgcIdTCPClient.pasBeide bibliotheken compileren in dezelfde IDE en hetzelfde project
IdSSLOpenSSL.passgcIdSSLOpenSSL.pasJe bestaande TLS-code blijft de unit gebruiken die hij al gebruikt
Niets te verwijderen

Welke Indy je IDE ook al heeft, die blijft geïnstalleerd en geregistreerd. Er is geen stap waarin je een package verwijdert, later terugzet of twee IDE-profielen naast elkaar houdt.

Bestaande projecten blijven ongemoeid

Alles wat je nu al tegen de standaard Indy-bibliotheek bouwt, blijft daartegen compileren, byte voor byte dezelfde units. De custom build komt erbij, het is geen vervanging en geen upgrade die op je IDE wordt toegepast.

Eén compilerdefine

Het gebruik van de custom Indy-bibliotheek wordt geregeld door SGC_CUSTOM_INDY in sgcVer.inc, in de bronmap. Het is één enkele define, dus de custom build weer uitzetten is een wijziging van één regel.

Volledige broncode, zoals altijd

De hernoemde Indy-units worden als broncode bij de licentie geleverd, dus ze compileren met jouw projectinstellingen en zijn in je debugger te doorlopen net als de rest van de bibliotheek.

Geen aparte Indy 10-installatie

Delphi 7 wordt geleverd met een oudere Indy. sgcWebSockets daar gebruiken zou anders betekenen dat je eerst zelf Indy 10 in de IDE installeert, en dat is de stap waarop veel mensen afhaken voordat ze één regel code hebben geschreven. Met de custom Indy-bibliotheek erbij verdwijnt die stap.

Wat de vereiste vroeger was

Indy 10 opzoeken, installeren in een Delphi 7-IDE die er nooit mee geleverd is, de packages aan het bouwen krijgen, en dan pas terugkomen om met sgcWebSockets te beginnen. Dat is een volledig apart stuk werk, uit te voeren vóór het onderdeel dat je eigenlijk wilde doen.

Voor een bedrijf dat nog Delphi 7-code onderhoudt, bepaalt die vereiste vaak of een componentbibliotheek überhaupt wordt geëvalueerd.

Wat het met dit pakket is

De custom Indy-bibliotheek zit in het pakket, in dezelfde bronmap als al het andere. Er is geen Indy 10 om te zoeken, geen Indy 10 om in de IDE te installeren, en geen Indy 10-versie die je op de componenten afgestemd moet houden.

Dit gaat alleen over de Indy 10-vereiste. Statisch linken van OpenSSL is een aparte functie met een eigen bereik, Windows en Delphi XE2 of nieuwer, dus die geldt niet op Delphi 7.

Eén unit, één bestand om uit te rollen

Er valt niets te configureren. Voeg sgcIdSSLOpenSSL_Static toe aan de uses-clausule van je project, bijvoorbeeld in de hoofd-.dpr, en de toepassing gebruikt bij de volgende start de OpenSSL die in het uitvoerbare bestand is gelinkt, voor client- en servercomponenten allebei.

// Project1.dpr
uses
  sgcIdSSLOpenSSL_Static;

// Dat is de hele configuratie. Geen compilerdirective om aan te
// zetten, geen OpenSSL API-versie om te kiezen. Verwijder de unit
// weer en de toepassing laadt de OpenSSL-DLL's precies zoals eerst.
Platformen Waar een objectbestand in dit formaat gelinkt kan worden
Windows 32 bit Windows 64 bit macOS iOS Android
Compiler Oudere versies melden E2045 Bad object file format
Delphi XE2 en nieuwer Delphi 7 tot XE
Vereiste Zonder dit heeft statisch linken geen effect
Custom Indy-bibliotheek in gebruik SGC_CUSTOM_INDY gedefinieerd
Gelinkte OpenSSL Wordt van tijd tot tijd bijgewerkt om de nieuwste OpenSSL-fixes mee te nemen
OpenSSL 3.5.7

Op een versie of platform waar statisch linken niet beschikbaar is, gaat er niets stuk. De toepassing blijft de OpenSSL-DLL's laden zoals daarvoor, dus dezelfde broncode bouwt overal.

Welke Indy elke editie gebruikt

De custom Indy-bibliotheek is niet nieuw. Het is waarop sgcWebSockets Enterprise gebouwd is, en dit pakket is de weg ernaartoe voor Core.

Wat je hebtIndy-bibliotheekOpmerkingen
sgcWebSockets StandardStandaardGeen ALPN, geen TLS 1.3 via OpenSSL 1.1.1 of 3.x
sgcWebSockets ProfessionalStandaardGeen ALPN, geen TLS 1.3 via OpenSSL 1.1.1 of 3.x
sgcWebSockets EnterpriseCustomInbegrepen, standaard ingeschakeld
eSeGeCe All-AccessCustomInbegrepen, standaard ingeschakeld
sgcWebSockets Core op zichzelfStandaardDit is wat het pakket verandert
sgcWebSockets Core met sgcCustomIndyCustomDezelfde custom build die Enterprise gebruikt

Niet hetzelfde als sgcIndy

sgcCustomIndy is de build met sgc-prefix die naast je bestaande Indy staat en door de sgcWebSockets-componenten wordt gebruikt. sgcIndy is het aparte, volledige Indy-package met de units onder hun oorspronkelijke namen, dat je installeert in plaats van de Indy in je IDE, zodat standaard Indy-componenten zoals SMTP en FTP dezelfde moderne TLS krijgen. Andere producten, ander doel.

Toegevoegd tijdens een Core-bestelling

sgcCustomIndy begint bij €149 voor één ontwikkelaar. Alle licenties bevatten volledige broncode, 1 jaar updates en 50% tot 70% verlengingskorting: 50% als je één pakket verlengt, 60% bij twee, 70% bij drie of meer. sgcAI, sgcMQ, sgcSocial, sgcCustomIndy, sgcAuth, sgcHTTP en sgcREST tellen elk als een pakket.

sgcCustomIndy

€149

Single-licenties €149, Team-licenties €249 en Site-licenties €399 zijn beschikbaar.

  • De custom Indy-bibliotheek die sgcWebSockets Enterprise gebruikt
  • ALPN, en daarmee HTTP/2
  • TLS 1.3 via OpenSSL 1.1.1 en 3.x
  • Statisch linken van OpenSSL op Windows, Delphi XE2 of nieuwer
  • Units met sgc-prefix, dus je geïnstalleerde Indy blijft ongemoeid
  • Geen aparte Indy 10-installatie op Delphi 7
  • Volledige broncode
  • 1 jaar updates

Er is geen aparte bestelpagina voor sgcCustomIndy, want het pakket is nooit het item waarmee je een bestelling begint. Het wordt aangeboden als de eerste aanbevolen add-on binnen een bestelling van sgcWebSockets Core, dus je voegt het met één klik toe terwijl je sgcAI, sgcMQ of sgcSocial bestelt, en het komt op dezelfde licentie terecht. Omdat zowel de WebAuthn-ondersteuning van sgcAuth als de HTTP/2- en gRPC-clients van sgcHTTP het nodig hebben, voegt het bestellen van een van die twee pakketten sgcCustomIndy automatisch aan je winkelwagen toe. Je kunt het weer verwijderen als je het al via Enterprise of All-Access hebt.

Heb je al sgcWebSockets Enterprise of eSeGeCe All-Access? Dan is de custom Indy-bibliotheek al van jou, bekijk de prijzen van sgcWebSockets voor wat die edities dekken.

3,000+Ontwikkelaars
20+Jaar
761+Componenten
30+API-integraties
5Platformen
Niet-goed-geld-terug-garantie van 30 dagenNiet tevreden? Vraag binnen 30 dagen na aankoop een volledige terugbetaling aan. Bekijk het terugbetalingsbeleid

De Indy-laag, weer bij de tijd

ALPN en daarmee HTTP/2, TLS 1.3 via OpenSSL 1.1.1 en 3.x, en OpenSSL gelinkt in het uitvoerbare bestand op Windows. Dat alles naast de Indy die je al hebt, zonder iets te verwijderen en zonder Indy 10 te installeren op Delphi 7.

Andere producten van eSeGeCe

Combineer sgcCustomIndy met onze andere componentbibliotheken voor Delphi, C++ Builder en .NET.

sgcWebSockets

De volledige bibliotheek: WebSocket-clients en -servers, HTTP/2, IoT-, P2P- en AI-componenten. Enterprise is op deze custom Indy-bibliotheek gebouwd.

Meer informatie →

sgcIndy

Het volledige Indy-package onder de oorspronkelijke unitnamen, geïnstalleerd in plaats van de Indy van je IDE, zodat SMTP, FTP en de rest moderne TLS krijgen.

Meer informatie →

sgcAI

AI-, LLM- en MCP-componenten. Eén chatcomponent bereikt OpenAI, Anthropic, Gemini, DeepSeek, Ollama, Grok en Mistral.

Meer informatie →

sgcMQ

Native MQTT-, AMQP 0.9.1-, AMQP 1.0-, Apache Kafka- en STOMP-clients. Standalone, de sgcWebSockets Core runtime is inbegrepen.

Meer informatie →

sgcSocial

WhatsApp Business Cloud API- en Telegram TDLib-clients. Standalone, de sgcWebSockets Core runtime is inbegrepen.

Meer informatie →

sgcAuth

OAuth2-client, JWT-client en WebAuthn-ondersteuning. Standalone, de sgcWebSockets Core runtime is inbegrepen.

Meer informatie →

sgcHTTP

HTTP/2-client, gRPC-client en clients voor Google Cloud Pub/Sub, Calendar en FCM. Standalone, de sgcWebSockets Core runtime is inbegrepen.

Meer informatie →

sgcQUIC

Client- en servercomponenten voor QUIC (RFC 9000) en HTTP/3 (RFC 9114), gebouwd op de native QUIC-engine van OpenSSL 3.5.

Meer informatie →

sgcHTML

Data-aware server-side HTML/UI-componenten voor Delphi, C++ Builder en .NET, met Bootstrap 5 en htmx.

Meer informatie →

sgcSign

Digitale handtekeningen voor de enterprise. XAdES, PAdES, CAdES en ASiC met 10 sleutelproviders en 21 EU-landprofielen.

Meer informatie →

sgcOpenAPI

OpenAPI 3.0-parser en SDK-generator. Zet elke OpenAPI-specificatie in seconden om in een sterk getypeerde Delphi-client.

Meer informatie →