Verschillen
De rijen waarin de twee kolommen verschillen
Elke rij hierboven die niet in beide kolommen een vinkje heeft, opnieuw uitgelegd met het bewijs erachter. Gegroepeerd per onderwerp in plaats van per product, omdat de meeste projecten er twee of drie van belangrijk vinden en de rest niet.
MQTT-broker, MQTT-SN en CoAP
IPWorks IoT levert MQTTBroker, door /n software gedocumenteerd als “een lichte, volledig uitgeruste MQTT-brokerimplementatie met ondersteuning voor versie 3.1.1”, luisterend over onversleuteld TCP, TLS, WebSocket en beveiligde WebSocket, met events voor sessieaanvragen, abonnementen en publicaties. Dezelfde toolkit levert MQTTSN en CoAP. sgcWebSockets heeft geen van de drie: geen MQTT-brokercomponent, en nergens in de broncode een MQTT-SN- of CoAP-unit. De MQTT-ondersteuning is een client, TsgcWSPClient_MQTT, die MQTT 3.1.1 of 5.0 spreekt.
Azure Relay, Amazon SNS en XMPP
IPWorks MQ documenteert AzureRelaySender, AzureRelayReceiver en AzureRelayProxy, en zowel AmazonSQS als AmazonSNS. XMPP komt voor in de componentreferentie van IPWorks, IPWorks MQ en IPWorks IoT. sgcWebSockets registreert TsgcHTTPAWS_SQS_Client voor Amazon SQS, en heeft geen component voor Azure Relay, Amazon SNS of XMPP.
WAMP, Kafka en de beheerde IoT-brokers
sgcWebSockets registreert TsgcWSPClient_WAMP, TsgcWSPClient_WAMP2 en TsgcWSPServer_WAMP voor WAMP, TsgcWSPClient_Kafka voor Kafka, en TsgcIoTAmazon_MQTT_Client en TsgcIoTAzure_MQTT_Client voorgeconfigureerd voor AWS IoT Core en Azure IoT Hub. WAMP noch Kafka komt voor in de componentreferentie van IPWorks MQ of IPWorks IoT. Beide producten bereiken een beheerde cloudbroker ook via een generieke MQTT-component.
Protocoldekking buiten realtime messaging
IPWorks 2024 documenteert 46 componenten in één toolkit, met naast het WebSocket-paar ook FTP, SMTP, IMAP, POP, LDAP, DNS, SOAP, OData, WebDAV, CalDAV, SMPP, Telnet, TFTP en SysLog. De bredere catalogus van /n software voegt daar aparte toolkits aan toe voor SSH en SFTP, SNMP, EDI inclusief AS2Sender en AS2Receiver, S/MIME, OpenPGP, VoIP, Bluetooth LE en NFC. sgcWebSockets bestrijkt dat terrein niet. Buiten WebSocket bestaat het oppervlak uit HTTP, HTTP/2, gRPC, de messagingprotocollen, de API-clients voor cloud en beurzen, en de P2P-stack.
HTTP en WebSocket op één poort
sgcWebSockets biedt TsgcWebSocketHTTPServer, die HTTP en WebSocket op dezelfde binding termineert, een DocumentRoot serveert, sessies bijhoudt, HTTP-compressie doet, OnCommandGet aanbiedt voor routes en een blok HTTP2Options draagt. Daaromheen zitten een firewall, een rate limiter, een circuit breaker, een API-sleutelbeheerder, een proxy en een load balancer, elk als eigen component geregistreerd. /n software documenteert WSServer als een component die “wordt gebruikt om een WebSocket-server te maken”, en de componentreferentie van IPWorks 2024 vermeldt geen HTTP-servercomponent, dus HTTP wordt elders in de stack geserveerd.
Opnieuw verbinden op de client
sgcWebSockets biedt op de client een WatchDog met Enabled, Interval, Attempts, Backoff op wdbFixed of wdbExponential, BackoffMultiplier, MaxInterval en Jitter. De gepubliceerde lijsten met properties, methoden, events en instellingen voor de IPWorks WSClient bevatten geen voorziening om opnieuw te verbinden, dus die lus schrijf je zelf. Beide componenten vuren een disconnect-event af om die lus aan op te hangen.
Edities in andere programmeertalen
De downloadpagina van IPWorks noemt tien edities van dezelfde toolkit: .NET, Java, C++, macOS, JavaScript, Delphi, C++ Builder, PHP, Python en ActiveX/ASP/COM, en het platformmenu van /n software noemt daarnaast Node.js, Go, Rust, Android, iOS, Swift en BizTalk. /n software omschrijft het resultaat als “gemeenschappelijke componentinterfaces over platformen en technologieën heen”. sgcWebSockets wordt uitgebracht voor Delphi en C++ Builder, met een aparte C#-port die dezelfde Tsgc-klassenamen spiegelt.
Compilers, targets en wat er naast het uitvoerbare bestand meegaat
/n software stelt ondersteuning voor “alle Delphi-versies tussen Delphi 6 en RAD Studio 13”, voor “Windows, Linux en macOS”, en voor “de Lazarus IDE en Free Pascal”. De documentatie van de Delphi Edition noemt vijf targets, Windows 32-bit, Windows 64-bit, Linux 64-bit, macOS 64-bit en macOS ARM 64-bit, met libipworks.so.24.0 of libipworks.24.0.dylib naast het uitvoerbare bestand op Linux en macOS, en geen DLL-afhankelijkheid op Windows. sgcWebSockets levert runtime-packages van Delphi 7 t/m Delphi 13, C++ Builder-packages van C2007 t/m C13 en een Lazarus-package, en heeft door sgcVer.inc heen takken voor IOS en ANDROID, inclusief een op JNI gebaseerde TLS-handler op Android en een Network.framework-handler op Apple-platformen. Het compileert op elk target vanuit Pascal-broncode het uitvoerbare bestand in.
HTTP/2, HTTP/3 en QUIC
Beide hebben een Delphi HTTP/2-client: IPWorks via een HTTPVersion van “2.0” met automatische terugval op HTTP/1.1, sgcWebSockets via TsgcHTTP2Client. Daarboven lopen ze uiteen. De HTTP-server van sgcWebSockets biedt een blok HTTP2Options, en het sgcQUIC-pack voegt TsgcQUICClient, TsgcQUICServer, TsgcHTTP3Client en TsgcHTTP3Server toe. /n software documenteert een HTTPVersion van “3.0” en stelt dat “HTTP/3 alleen wordt ondersteund in .NET en Java”, dus de Delphi Edition heeft het niet.
LLM-clients, MCP en WebRTC
Beide dekken het Model Context Protocol af: sgcWebSockets via TsgcWSAPIClient_MCP en TsgcWSAPIServer_MCP, /n software via de aparte MCP SDK 2026 Delphi Edition, over standaardinvoer en -uitvoer of over HTTP. Naast MCP levert sgcWebSockets chatclients voor OpenAI, Anthropic, Gemini, DeepSeek, Grok, Mistral en Ollama, en een WebRTC-stack van TsgcSTUNClient, TsgcSTUNServer, TsgcTURNClient, TsgcTURNServer, TsgcICEClient en TsgcRTCPeerConnection. De gepubliceerde catalogus van /n software vermeldt geen LLM-chatclient en geen WebRTC-componenten.
Broncode en wat de licentie toestaat
De broncode-edities van sgcWebSockets bevatten de volledige Delphi- en C++ Builder-broncode, en het is die broncode die het project compileert; de Basic-edities leveren in plaats daarvan voorgecompileerde DCU-bestanden. De gepubliceerde aankoopopties van /n software voor de IPWorks Delphi Edition tonen één licentieregel zonder broncodeoptie, en de licentieovereenkomst voor eindgebruikers stelt dat je ermee instemt “de broncode van de Software niet aan te passen, te vertalen, te reverse-engineeren, te decompileren of anderszins af te leiden”. /n software Premium Support omvat wel wat het “beperkte broncodeanalyse met betrekking tot de componenten” noemt.