Componente aggiuntivo per sgcWebSockets Core Da Delphi 7 a 13 & C++ Builder

sgcCustomIndy: la libreria Indy personalizzata per sgcWebSockets Core

Indy è la libreria open source di comunicazione client e server che sgcWebSockets usa come base per alcuni dei suoi componenti. La libreria Indy standard non supporta ALPN e non supporta TLS 1.3 tramite OpenSSL 1.1.1 o 3.x, quindi sgcWebSockets Enterprise distribuisce una build personalizzata di Indy che invece li supporta. sgcCustomIndy porta quella stessa build personalizzata su sgcWebSockets Core, che altrimenti richiederebbe il passaggio all'edizione Enterprise per ottenerla.

Codice sorgente completo
Niente da disinstallare
Installate fianco a fianco Un solo IDE Le unità personalizzate hanno il prefisso sgc, così entrambe le librerie convivono nello stesso IDE
Indy standard IdGlobal.pas
Indy personalizzata sgcIdGlobal.pas
0 Librerie Indy da disinstallare L'Indy già presente nel tuo IDE resta installato
0 Installazioni di Indy 10 su Delphi 7 La libreria arriva insieme al pacchetto
3 Funzionalità che mancano all'Indy standard ALPN, TLS 1.3 su OpenSSL 1.1.1 e 3.x, collegamento statico
1 Unità per OpenSSL statico sgcIdSSLOpenSSL_Static nella clausola uses
2 Target del collegamento statico Windows a 32 bit e a 64 bit, Delphi XE2 o successivo

Due cose da sapere prima

A chi serve questo pacchetto e chi lo possiede già. Entrambe le risposte sono brevi.

È un componente aggiuntivo, non un ordine separato

sgcCustomIndy si aggancia a una licenza sgcWebSockets Core. Non si ordina da solo: compare come primo componente aggiuntivo consigliato dentro un ordine Core, lo stesso ordine attraverso cui passano i pacchetti sgcAI, sgcMQ, sgcSocial, sgcAuth e sgcHTTP.

Il codice sorgente completo è incluso nella licenza, così le unità Indy si compilano e si percorrono nel debugger dentro il tuo progetto esattamente come il resto della libreria.

Controlla prima

Enterprise e All-Access lo includono già

La libreria Indy personalizzata fa parte di sgcWebSockets Enterprise e di eSeGeCe All-Access, dove è attiva per impostazione predefinita tramite la define di compilazione SGC_CUSTOM_INDY in sgcVer.inc. Se possiedi una di queste due, hai già tutto quello che c'è in questa pagina e non devi aggiungere nulla.

Le edizioni Standard e Professional usano la libreria Indy standard. Guarda quale edizione ti serve se stai valutando un aggiornamento di edizione al posto di questo pacchetto.

Tre cose che la libreria Indy standard non sa fare

Ogni voce qui sotto è una funzionalità dello strato Indy stesso, non di un componente che gli sta sopra. È per questo che sostituire la libreria Indy è ciò che le attiva.

ALPNNegoziazione del protocollo

L'estensione su cui è costruito HTTP/2

HTTP/2 viene negoziato durante l'handshake TLS: il client annuncia i protocolli che sa parlare e il server ne sceglie uno. Quella negoziazione è l'Application-Layer Protocol Negotiation e avviene dentro lo strato TLS, sotto qualsiasi cosa possa raggiungere un componente HTTP. La libreria Indy standard non la supporta, quindi è la libreria Indy personalizzata a rendere disponibile ALPN e con esso HTTP/2.

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

I rami moderni di OpenSSL, finalmente raggiungibili

TLS 1.3 richiede OpenSSL 1.1.1 o OpenSSL 3.0.0, e la libreria Indy standard non supporta quei rami. La libreria Indy personalizzata invece sì, così un client o un server costruito su di essa negozia TLS 1.3 con gli endpoint che lo richiedono, invece di restare limitato a ciò che offre la vecchia API di OpenSSL.

TLS 1.3 OpenSSL 1.1.1 OpenSSL 3.x
OpenSSL staticoWindows, Delphi XE2 o successivo

OpenSSL dentro l'eseguibile

OpenSSL può essere collegato direttamente dentro la tua applicazione invece di essere caricato a runtime dalle DLL libcrypto e libssl, così un'applicazione TLS si distribuisce come un file solo. Ha effetto soltanto quando è in uso la libreria Indy personalizzata, che è ciò che fornisce questo pacchetto. L'ambito è Windows a 32 bit e a 64 bit su Delphi XE2 o successivo, spiegato in dettaglio più avanti.

sgcIdSSLOpenSSL_Static Solo Windows Delphi XE2+

Sta accanto all'Indy che hai già

Sostituire la libreria Indy dentro un IDE è la parte che nessuno ha voglia di fare, quindi questo pacchetto non la richiede. I file dell'Indy personalizzata sono rinominati con il prefisso sgc, IdGlobal diventa sgcIdGlobal, e le due versioni convivono senza problemi.

Indy standard, già nel tuo IDEIndy personalizzata, aggiunta da questo pacchettoCosa significa
IdGlobal.passgcIdGlobal.pasNomi di unità diversi, quindi niente entra in conflitto nel search path
IdTCPClient.passgcIdTCPClient.pasEntrambe le librerie si compilano nello stesso IDE e nello stesso progetto
IdSSLOpenSSL.passgcIdSSLOpenSSL.pasIl tuo codice TLS esistente continua a usare l'unità che usa già
Niente da disinstallare

Qualunque Indy il tuo IDE abbia già resta installato e resta registrato. Non c'è nessun passaggio in cui rimuovi un package, lo ripristini dopo o ti ritrovi a mantenere due profili dell'IDE.

I progetti esistenti restano intatti

Tutto quello che già compili contro la libreria Indy standard continua a compilarsi contro di essa, con le stesse unità byte per byte. La build personalizzata si aggiunge, non è un rimpiazzo e non è un aggiornamento applicato al tuo IDE.

Una sola define di compilazione

L'uso della libreria Indy personalizzata è controllato da SGC_CUSTOM_INDY in sgcVer.inc, nella cartella dei sorgenti. È una define sola, quindi disattivare di nuovo la build personalizzata è una modifica di una riga.

Sorgente completo, come sempre

Le unità Indy rinominate sono distribuite come sorgente insieme alla licenza, così si compilano con le impostazioni del tuo progetto e si seguono passo passo nel tuo debugger come il resto della libreria.

Nessuna installazione separata di Indy 10

Delphi 7 include un Indy più vecchio. Usare sgcWebSockets lì significherebbe altrimenti installare prima Indy 10 nell'IDE per conto tuo, ed è il passaggio che ferma molte persone prima ancora che abbiano scritto una riga di codice. Con la libreria Indy personalizzata già nel pacchetto, quel passaggio sparisce.

Com'era il prerequisito

Procurarsi Indy 10, installarlo in un IDE Delphi 7 che non l'ha mai avuto di serie, riuscire a compilare i package, poi tornare indietro e cominciare con sgcWebSockets. È un lavoro del tutto a parte, fatto prima della parte che volevi davvero fare.

Per un'azienda che mantiene ancora codice Delphi 7, quel prerequisito è spesso ciò che decide se una libreria di componenti verrà valutata o no.

Com'è con questo pacchetto

La libreria Indy personalizzata arriva insieme al pacchetto, nella stessa cartella dei sorgenti di tutto il resto. Non c'è nessun Indy 10 da trovare, nessun Indy 10 da installare nell'IDE e nessuna versione di Indy 10 da tenere allineata con i componenti.

Questo punto riguarda soltanto il prerequisito di Indy 10. Il collegamento statico di OpenSSL è una funzionalità a parte con un suo ambito, Windows e Delphi XE2 o successivo, quindi non si applica a Delphi 7.

Un'unità sola, un file solo da distribuire

Non c'è niente da configurare. Aggiungi sgcIdSSLOpenSSL_Static alla clausola uses del tuo progetto, per esempio nel .dpr principale, e alla successiva esecuzione l'applicazione userà l'OpenSSL collegato dentro l'eseguibile, sia per i componenti client sia per quelli server.

// 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.
Piattaforme Dove un file oggetto in questo formato può essere collegato
Windows a 32 bit Windows a 64 bit macOS iOS Android
Compilatore Le versioni più vecchie segnalano E2045 Bad object file format
Delphi XE2 e successivi Da Delphi 7 a XE
Prerequisito Senza di esso il collegamento statico non ha effetto
Libreria Indy personalizzata in uso SGC_CUSTOM_INDY definita
OpenSSL collegato Aggiornato di tanto in tanto per recepire le ultime correzioni di OpenSSL
OpenSSL 3.5.7

Su una versione o una piattaforma in cui il collegamento statico non è disponibile non si rompe niente. L'applicazione continua a caricare le DLL di OpenSSL come faceva prima, così lo stesso sorgente si compila ovunque.

Quale Indy usa ogni edizione

La libreria Indy personalizzata non è una novità. È ciò su cui è costruito sgcWebSockets Enterprise, e questo pacchetto è la strada per averla anche con Core.

Cosa possiediLibreria IndyNote
sgcWebSockets StandardStandardNiente ALPN, niente TLS 1.3 su OpenSSL 1.1.1 o 3.x
sgcWebSockets ProfessionalStandardNiente ALPN, niente TLS 1.3 su OpenSSL 1.1.1 o 3.x
sgcWebSockets EnterprisePersonalizzataInclusa, attiva per impostazione predefinita
eSeGeCe All-AccessPersonalizzataInclusa, attiva per impostazione predefinita
sgcWebSockets Core da soloStandardÈ questo che cambia il pacchetto
sgcWebSockets Core con sgcCustomIndyPersonalizzataLa stessa build personalizzata che usa Enterprise

Non è la stessa cosa di sgcIndy

sgcCustomIndy è la build con prefisso sgc che vive accanto all'Indy che hai già ed è usata dai componenti sgcWebSockets. sgcIndy è il pacchetto Indy completo a parte, con le unità sotto i loro nomi originali, che installi al posto dell'Indy del tuo IDE perché anche i componenti Indy standard come SMTP e FTP ottengano lo stesso TLS moderno. Prodotti diversi, compiti diversi.

Si aggiunge durante un ordine Core

sgcCustomIndy parte da €149 per un singolo sviluppatore. Tutte le licenze includono il codice sorgente completo, 1 anno di aggiornamenti e uno sconto sul rinnovo dal 50% al 70%: il 50% se rinnovi un pacchetto, il 60% con due, il 70% con tre o più. sgcAI, sgcMQ, sgcSocial, sgcCustomIndy, sgcAuth, sgcHTTP e sgcREST contano ciascuno come un pacchetto.

sgcCustomIndy

€149

Licenze Single €149, Team €249 e Site €399 disponibili.

  • La libreria Indy personalizzata che usa sgcWebSockets Enterprise
  • ALPN, e con esso HTTP/2
  • TLS 1.3 su OpenSSL 1.1.1 e 3.x
  • Collegamento statico di OpenSSL su Windows, Delphi XE2 o successivo
  • Unità con prefisso sgc, così l'Indy che hai installato resta intatto
  • Nessuna installazione separata di Indy 10 su Delphi 7
  • Codice sorgente completo
  • 1 anno di aggiornamenti

Non esiste una pagina d'ordine separata per sgcCustomIndy, perché il pacchetto non è mai l'articolo con cui inizi un ordine. Viene proposto come primo componente aggiuntivo consigliato dentro un ordine sgcWebSockets Core, così lo aggiungi con un clic mentre ordini sgcAI, sgcMQ o sgcSocial, e arriva sulla stessa licenza. Poiché il supporto WebAuthn di sgcAuth e i client HTTP/2 e gRPC di sgcHTTP lo richiedono entrambi, ordinare uno di questi due pacchetti aggiunge sgcCustomIndy al tuo carrello automaticamente. Puoi rimuoverlo se lo possiedi già tramite Enterprise o All-Access.

Hai già sgcWebSockets Enterprise o eSeGeCe All-Access? La libreria Indy personalizzata è già tua, guarda i prezzi di sgcWebSockets per sapere cosa coprono quelle edizioni.

3,000+Sviluppatori
20+Anni
761+Componenti
30+Integrazioni API
5Piattaforme
Garanzia soddisfatti o rimborsati di 30 giorniNon sei soddisfatto? Richiedi un rimborso completo entro 30 giorni dall'acquisto. Vedi la politica di rimborso

Lo strato Indy, portato al passo con i tempi

ALPN e quindi HTTP/2, TLS 1.3 su OpenSSL 1.1.1 e 3.x e OpenSSL collegato dentro l'eseguibile su Windows. Tutto questo accanto all'Indy che hai già, senza niente da disinstallare e senza nessun Indy 10 da installare su Delphi 7.

Altri prodotti di eSeGeCe

Abbina sgcCustomIndy alle nostre altre librerie di componenti per Delphi, C++ Builder e .NET.

sgcWebSockets

La libreria completa: client e server WebSocket, HTTP/2, componenti IoT, P2P e AI. Enterprise è costruita su questa libreria Indy personalizzata.

Scopri di più →

sgcIndy

Il pacchetto Indy completo sotto i nomi di unità originali, installato al posto dell'Indy del tuo IDE così che SMTP, FTP e tutto il resto ottengano il TLS moderno.

Scopri di più →

sgcAI

Componenti AI, LLM e MCP. Un solo componente di chat raggiunge OpenAI, Anthropic, Gemini, DeepSeek, Ollama, Grok e Mistral.

Scopri di più →

sgcMQ

Client nativi MQTT, AMQP 0.9.1, AMQP 1.0, Apache Kafka e STOMP. Prodotto autonomo, il runtime sgcWebSockets Core è incluso.

Scopri di più →

sgcSocial

Client per WhatsApp Business Cloud API e Telegram TDLib. Prodotto autonomo, il runtime sgcWebSockets Core è incluso.

Scopri di più →

sgcAuth

Client OAuth2, client JWT e supporto WebAuthn. Prodotto autonomo, il runtime sgcWebSockets Core è incluso.

Scopri di più →

sgcHTTP

Client HTTP/2, client gRPC e client Google Cloud Pub/Sub, Calendar e FCM. Prodotto autonomo, il runtime sgcWebSockets Core è incluso.

Scopri di più →

sgcQUIC

Componenti client e server QUIC (RFC 9000) e HTTP/3 (RFC 9114) costruiti sul motore QUIC nativo di OpenSSL 3.5.

Scopri di più →

sgcHTML

Componenti HTML/UI server-side data-aware per Delphi, C++ Builder e .NET, con Bootstrap 5 e htmx.

Scopri di più →

sgcSign

Firme digitali Enterprise. XAdES, PAdES, CAdES e ASiC con 10 provider di chiavi e 21 profili per paese UE.

Scopri di più →

sgcOpenAPI

Parser OpenAPI 3.0 e generatore di SDK. Trasforma qualsiasi specifica OpenAPI in un client Delphi fortemente tipizzato in pochi secondi.

Scopri di più →