DIFFERENZE
Le righe in cui le due colonne non coincidono
Ogni riga della matrice qui sopra che non ha un segno di spunta in entrambe le colonne, riformulata con le prove che la sostengono. Raggruppate per argomento anziché per prodotto, perché alla maggior parte dei progetti interessano due o tre di queste voci e nient'altro.
Broker MQTT, MQTT-SN e CoAP
IPWorks IoT include MQTTBroker, documentato da /n software come “un'implementazione di broker MQTT leggera e completa con supporto per la versione 3.1.1”, in ascolto su TCP in chiaro, TLS, WebSocket e WebSocket sicuro, con eventi per richieste di sessione, sottoscrizioni e pubblicazioni. Lo stesso toolkit include MQTTSN e CoAP. sgcWebSockets non ha nessuno dei tre: nessun componente broker MQTT, e nessuna unit MQTT-SN o CoAP da nessuna parte nel suo albero dei sorgenti. Il suo supporto MQTT è un client, TsgcWSPClient_MQTT, che parla MQTT 3.1.1 o 5.0.
Azure Relay, Amazon SNS e XMPP
IPWorks MQ documenta AzureRelaySender, AzureRelayReceiver e AzureRelayProxy, e sia AmazonSQS sia AmazonSNS. XMPP compare allo stesso modo nel riferimento dei componenti di IPWorks, IPWorks MQ e IPWorks IoT. sgcWebSockets registra TsgcHTTPAWS_SQS_Client per Amazon SQS, e non ha alcun componente per Azure Relay, Amazon SNS o XMPP.
WAMP, Kafka e i broker IoT gestiti
sgcWebSockets registra TsgcWSPClient_WAMP, TsgcWSPClient_WAMP2 e TsgcWSPServer_WAMP per WAMP, TsgcWSPClient_Kafka per Kafka, e TsgcIoTAmazon_MQTT_Client e TsgcIoTAzure_MQTT_Client preconfigurati per AWS IoT Core e Azure IoT Hub. Né WAMP né Kafka compaiono nel riferimento dei componenti di IPWorks MQ o IPWorks IoT. Entrambi i prodotti raggiungono un broker cloud gestito anche attraverso un componente MQTT generico.
Copertura dei protocolli al di fuori della messaggistica in tempo reale
IPWorks 2024 documenta 46 componenti in un unico toolkit, che comprende FTP, SMTP, IMAP, POP, LDAP, DNS, SOAP, OData, WebDAV, CalDAV, SMPP, Telnet, TFTP e SysLog accanto alla coppia WebSocket. Il catalogo /n software più ampio aggiunge toolkit separati per SSH e SFTP, SNMP, EDI compresi AS2Sender e AS2Receiver, S/MIME, OpenPGP, VoIP, Bluetooth LE e NFC. sgcWebSockets non copre niente di quel terreno. Al di fuori di WebSocket la sua superficie è HTTP, HTTP/2, gRPC, i protocolli di messaggistica, i client per le API cloud e degli exchange, e lo stack P2P.
HTTP e WebSocket su una sola porta
sgcWebSockets fornisce TsgcWebSocketHTTPServer, che termina HTTP e WebSocket sullo stesso binding, serve un DocumentRoot, mantiene le sessioni, esegue la compressione HTTP, espone OnCommandGet per le route e porta un blocco HTTP2Options. Attorno a esso ci sono un firewall, un rate limiter, un circuit breaker, un gestore di chiavi API, un proxy e un bilanciatore di carico, ciascuno registrato come componente a sé. /n software documenta WSServer come un componente “usato per creare un server WebSocket”, e il riferimento dei componenti di IPWorks 2024 non elenca alcun componente server HTTP, quindi HTTP viene servito da qualcos'altro nello stack.
Riconnessione del client
sgcWebSockets espone un WatchDog sul client con Enabled, Interval, Attempts, Backoff pari a wdbFixed o wdbExponential, BackoffMultiplier, MaxInterval e Jitter. Gli elenchi pubblicati di proprietà, metodi, eventi e impostazioni di WSClient in IPWorks non contengono alcuna funzione di riconnessione, quindi un ciclo di riconnessione è codice applicativo. Entrambi i componenti sollevano un evento di disconnessione da cui pilotarlo.
Edizioni in altri linguaggi di programmazione
La pagina di download di IPWorks elenca dieci edizioni dello stesso toolkit: .NET, Java, C++, macOS, JavaScript, Delphi, C++ Builder, PHP, Python e ActiveX/ASP/COM, e il menu delle piattaforme di /n software elenca inoltre Node.js, Go, Rust, Android, iOS, Swift e BizTalk. /n software descrive il risultato come “interfacce dei componenti comuni tra piattaforme e tecnologie”. sgcWebSockets è pubblicato per Delphi e C++ Builder, con un port C# separato che rispecchia gli stessi nomi di classe Tsgc.
Compilatori, target e che cosa viene distribuito accanto all'eseguibile
/n software dichiara il supporto per “tutte le versioni di Delphi tra Delphi 6 e RAD Studio 13”, per “Windows, Linux e macOS” e per “Lazarus IDE e Free Pascal”. La documentazione della sua Delphi Edition indica cinque target, Windows a 32 bit, Windows a 64 bit, Linux a 64 bit, macOS a 64 bit e macOS ARM a 64 bit, con libipworks.so.24.0 o libipworks.24.0.dylib distribuiti accanto all'eseguibile su Linux e macOS, e nessuna dipendenza da DLL su Windows. sgcWebSockets include package runtime da Delphi 7 a Delphi 13, package C++ Builder da C2007 a C13 e un package Lazarus, e porta rami IOS e ANDROID attraverso sgcVer.inc, compreso un handler TLS basato su JNI su Android e un handler Network.framework sulle piattaforme Apple. Compila dai sorgenti Pascal dentro l'eseguibile su ogni target.
HTTP/2, HTTP/3 e QUIC
Entrambi hanno un client HTTP/2 per Delphi: IPWorks attraverso un HTTPVersion pari a “2.0” con fallback automatico su HTTP/1.1, sgcWebSockets attraverso TsgcHTTP2Client. Oltre questo punto si separano. Il server HTTP di sgcWebSockets espone un blocco HTTP2Options, e il pack sgcQUIC aggiunge TsgcQUICClient, TsgcQUICServer, TsgcHTTP3Client e TsgcHTTP3Server. /n software documenta un HTTPVersion pari a “3.0” e afferma che “HTTP/3 è supportato solo in .NET e Java”, quindi la Delphi Edition non lo comprende.
Client LLM, MCP e WebRTC
Entrambi coprono il Model Context Protocol: sgcWebSockets attraverso TsgcWSAPIClient_MCP e TsgcWSAPIServer_MCP, /n software attraverso la separata MCP SDK 2026 Delphi Edition, su standard input e output oppure su HTTP. Oltre a MCP, sgcWebSockets include client di chat per OpenAI, Anthropic, Gemini, DeepSeek, Grok, Mistral e Ollama, e uno stack WebRTC composto da TsgcSTUNClient, TsgcSTUNServer, TsgcTURNClient, TsgcTURNServer, TsgcICEClient e TsgcRTCPeerConnection. Il catalogo pubblicato di /n software non elenca alcun client di chat LLM né componenti WebRTC.
Codice sorgente e che cosa consente la licenza
Le edizioni con codice sorgente di sgcWebSockets includono l'intero sorgente Delphi e C++ Builder, ed è quel sorgente che il progetto compila; le edizioni Basic distribuiscono invece file DCU precompilati. Le opzioni di acquisto pubblicate da /n software per la IPWorks Delphi Edition elencano una sola voce di licenza senza opzione sorgente, e il suo contratto di licenza con l'utente finale stabilisce che ti impegni “a non adattare, tradurre, decodificare, decompilare o comunque derivare il codice sorgente del Software”. Il Premium Support di /n software comprende però quella che definisce “analisi limitata del codice sorgente relativa ai componenti”.