Différences
Les lignes où les deux colonnes divergent
Chaque ligne de la matrice ci-dessus qui n'est pas une coche dans les deux colonnes, reprise avec les éléments qui l'étayent. Regroupées par thème plutôt que par produit, parce que la plupart des projets ne s'intéressent qu'à deux ou trois d'entre elles et à rien d'autre.
Broker MQTT, MQTT-SN et CoAP
IPWorks IoT fournit MQTTBroker, documenté par /n software comme “une implémentation de broker MQTT légère et complète, avec prise en charge de la version 3.1.1”, à l'écoute sur TCP en clair, TLS, WebSocket et WebSocket sécurisé, avec des événements pour les demandes de session, les abonnements et les publications. La même boîte à outils fournit MQTTSN et CoAP. sgcWebSockets n'a aucun des trois : pas de composant broker MQTT, et aucune unité MQTT-SN ou CoAP nulle part dans son arborescence des sources. Sa prise en charge de MQTT est un client, TsgcWSPClient_MQTT, qui parle MQTT 3.1.1 ou 5.0.
Azure Relay, Amazon SNS et XMPP
IPWorks MQ documente AzureRelaySender, AzureRelayReceiver et AzureRelayProxy, ainsi que AmazonSQS et AmazonSNS. XMPP apparaît aussi bien dans la référence de composants d'IPWorks que dans celles d'IPWorks MQ et d'IPWorks IoT. sgcWebSockets enregistre TsgcHTTPAWS_SQS_Client pour Amazon SQS, et n'a aucun composant pour Azure Relay, Amazon SNS ou XMPP.
WAMP, Kafka et les brokers IoT managés
sgcWebSockets enregistre TsgcWSPClient_WAMP, TsgcWSPClient_WAMP2 et TsgcWSPServer_WAMP pour WAMP, TsgcWSPClient_Kafka pour Kafka, et TsgcIoTAmazon_MQTT_Client et TsgcIoTAzure_MQTT_Client préconfigurés pour AWS IoT Core et Azure IoT Hub. Ni WAMP ni Kafka n'apparaissent dans la référence de composants d'IPWorks MQ ou d'IPWorks IoT. Les deux produits atteignent aussi un broker cloud managé via un composant MQTT générique.
Couverture de protocoles en dehors de la messagerie en temps réel
IPWorks 2024 documente 46 composants dans une seule boîte à outils, englobant FTP, SMTP, IMAP, POP, LDAP, DNS, SOAP, OData, WebDAV, CalDAV, SMPP, Telnet, TFTP et SysLog aux côtés de la paire WebSocket. Le catalogue /n software plus large ajoute des boîtes à outils distinctes pour SSH et SFTP, SNMP, EDI dont AS2Sender et AS2Receiver, S/MIME, OpenPGP, VoIP, Bluetooth LE et NFC. sgcWebSockets ne couvre rien de ce terrain. En dehors de WebSocket, sa surface se limite à HTTP, HTTP/2, gRPC, les protocoles de messagerie, les clients d'API cloud et de plateformes d'échange, et la pile P2P.
HTTP et WebSocket sur un seul port
sgcWebSockets fournit TsgcWebSocketHTTPServer, qui termine HTTP et WebSocket sur la même liaison, sert un DocumentRoot, conserve les sessions, applique la compression HTTP, expose OnCommandGet pour les routes et porte un bloc HTTP2Options. Autour de lui se trouvent un firewall, un limiteur de débit, un disjoncteur, un gestionnaire de clés API, un proxy et un équilibreur de charge, chacun enregistré comme son propre composant. /n software documente WSServer comme un composant “utilisé pour créer un serveur WebSocket”, et la référence de composants IPWorks 2024 ne liste aucun composant serveur HTTP, HTTP est donc servi ailleurs dans la pile.
Reconnexion du client
sgcWebSockets expose un WatchDog sur le client avec Enabled, Interval, Attempts, Backoff valant wdbFixed ou wdbExponential, BackoffMultiplier, MaxInterval et Jitter. Les listes publiées de propriétés, méthodes, événements et paramètres de configuration pour le WSClient d'IPWorks ne contiennent aucun mécanisme de reconnexion, une boucle de reconnexion relève donc du code applicatif. Les deux composants déclenchent bien un événement de déconnexion pour la piloter.
Éditions dans d'autres langages de programmation
La page de téléchargement d'IPWorks liste dix éditions de la même boîte à outils : .NET, Java, C++, macOS, JavaScript, Delphi, C++ Builder, PHP, Python et ActiveX/ASP/COM, et le menu des plateformes de /n software liste en plus Node.js, Go, Rust, Android, iOS, Swift et BizTalk. /n software décrit le résultat comme des “interfaces de composants communes à toutes les plateformes et technologies”. sgcWebSockets est publié pour Delphi et C++ Builder, avec un portage C# distinct qui reprend les mêmes noms de classes préfixés Tsgc.
Compilateurs, cibles et ce qui est livré à côté de l'exécutable
/n software indique la prise en charge de “toutes les versions de Delphi entre Delphi 6 et RAD Studio 13”, de “Windows, Linux et macOS”, et de “l'IDE Lazarus et Free Pascal”. La documentation de sa Delphi Edition nomme cinq cibles, Windows 32-bit, Windows 64-bit, Linux 64-bit, macOS 64-bit et macOS ARM 64-bit, avec libipworks.so.24.0 ou libipworks.24.0.dylib déployé à côté de l'exécutable sous Linux et macOS, et aucune dépendance DLL sous Windows. sgcWebSockets fournit des packages runtime de Delphi 7 à Delphi 13, des packages C++ Builder de C2007 à C13 et un package Lazarus, et porte des branches IOS et ANDROID dans tout sgcVer.inc y compris un handler TLS adossé à JNI sous Android et un handler Network.framework sur les plateformes Apple. Il se compile depuis les sources Pascal dans l'exécutable sur toutes les cibles.
HTTP/2, HTTP/3 et QUIC
Les deux ont un client HTTP/2 Delphi : IPWorks via un HTTPVersion de “2.0” avec repli automatique sur HTTP/1.1, sgcWebSockets via TsgcHTTP2Client. Au-delà, ils divergent. Le serveur HTTP de sgcWebSockets expose un bloc HTTP2Options, et le pack sgcQUIC ajoute TsgcQUICClient, TsgcQUICServer, TsgcHTTP3Client et TsgcHTTP3Server. /n software documente un HTTPVersion de “3.0” et indique que “HTTP/3 n'est pris en charge que dans .NET et Java”, la Delphi Edition ne le porte donc pas.
Clients LLM, MCP et WebRTC
Les deux couvrent le Model Context Protocol : sgcWebSockets via TsgcWSAPIClient_MCP et TsgcWSAPIServer_MCP, /n software via le MCP SDK 2026 Delphi Edition distinct, sur l'entrée et la sortie standard ou sur HTTP. Au-delà de MCP, sgcWebSockets fournit des clients de chat pour OpenAI, Anthropic, Gemini, DeepSeek, Grok, Mistral et Ollama, et une pile WebRTC composée de TsgcSTUNClient, TsgcSTUNServer, TsgcTURNClient, TsgcTURNServer, TsgcICEClient et TsgcRTCPeerConnection. Le catalogue publié de /n software ne liste aucun client de chat LLM ni aucun composant WebRTC.
Code source et ce que la licence autorise
Les éditions avec code source de sgcWebSockets incluent l'intégralité des sources Delphi et C++ Builder, et ce sont ces sources que le projet compile ; les éditions Basic livrent à la place des fichiers DCU précompilés. Les options d'achat publiées par /n software pour l'IPWorks Delphi Edition ne listent qu'une seule ligne de licence, sans option source, et son contrat de licence utilisateur final précise que tu acceptes de “ne pas adapter, traduire, désosser, décompiler ou dériver de quelque autre manière le code source du Logiciel”. Le Premium Support de /n software inclut bien ce qu'il appelle une “analyse limitée du code source relative aux composants”.