Różnice
Wiersze, w których obie kolumny się różnią
Każdy wiersz matrycy powyżej, który nie ma znacznika w obu kolumnach, powtórzony wraz z dowodami, które za nim stoją. Pogrupowane według tematu, a nie według produktu, bo większość projektów interesują dwie lub trzy z tych rzeczy i nic więcej.
Broker MQTT, MQTT-SN i CoAP
IPWorks IoT dostarcza MQTTBroker, udokumentowany przez /n software jako “lekka, w pełni funkcjonalna implementacja brokera MQTT ze wsparciem dla wersji 3.1.1”, nasłuchująca przez zwykły TCP, TLS, WebSocket i bezpieczny WebSocket, ze zdarzeniami dla żądań sesji, subskrypcji i publikacji. Ten sam zestaw narzędzi dostarcza MQTTSN i CoAP. sgcWebSockets nie ma żadnego z tych trzech: brak komponentu brokera MQTT i brak modułu MQTT-SN lub CoAP gdziekolwiek w drzewie kodu źródłowego. Jego obsługa MQTT to klient, TsgcWSPClient_MQTT, mówiący w MQTT 3.1.1 lub 5.0.
Azure Relay, Amazon SNS i XMPP
IPWorks MQ dokumentuje AzureRelaySender, AzureRelayReceiver i AzureRelayProxy oraz zarówno AmazonSQS, jak i AmazonSNS. XMPP pojawia się w dokumentacji referencyjnej komponentów zarówno IPWorks, jak i IPWorks MQ oraz IPWorks IoT. sgcWebSockets rejestruje TsgcHTTPAWS_SQS_Client dla Amazon SQS i nie ma komponentu dla Azure Relay, Amazon SNS ani XMPP.
WAMP, Kafka i zarządzane brokery IoT
sgcWebSockets rejestruje TsgcWSPClient_WAMP, TsgcWSPClient_WAMP2 i TsgcWSPServer_WAMP dla WAMP, TsgcWSPClient_Kafka dla Kafki oraz TsgcIoTAmazon_MQTT_Client i TsgcIoTAzure_MQTT_Client wstępnie skonfigurowane dla AWS IoT Core i Azure IoT Hub. Ani WAMP, ani Kafka nie pojawia się w dokumentacji referencyjnej komponentów IPWorks MQ czy IPWorks IoT. Oba produkty dosięgają zarządzanego brokera w chmurze także przez ogólny komponent MQTT.
Zakres protokołów poza komunikacją w czasie rzeczywistym
IPWorks 2024 dokumentuje 46 komponentów w jednym zestawie narzędzi, obejmując FTP, SMTP, IMAP, POP, LDAP, DNS, SOAP, OData, WebDAV, CalDAV, SMPP, Telnet, TFTP i SysLog obok pary komponentów WebSocket. Szerszy katalog /n software dokłada osobne zestawy narzędzi dla SSH i SFTP, SNMP, EDI wraz z AS2Sender i AS2Receiver, S/MIME, OpenPGP, VoIP, Bluetooth LE i NFC. sgcWebSockets nie obejmuje żadnego z tych obszarów. Poza WebSocket jego powierzchnia to HTTP, HTTP/2, gRPC, protokoły komunikatów, klienty API chmurowych i giełdowych oraz stos P2P.
HTTP i WebSocket na jednym porcie
sgcWebSockets udostępnia TsgcWebSocketHTTPServer, który kończy połączenia HTTP i WebSocket na tym samym powiązaniu, serwuje DocumentRoot, utrzymuje sesje, wykonuje kompresję HTTP, udostępnia OnCommandGet dla tras i zawiera blok HTTP2Options. Wokół niego stoją firewall, ogranicznik szybkości, bezpiecznik, menedżer kluczy API, proxy i load balancer, każdy zarejestrowany jako osobny komponent. /n software dokumentuje WSServer jako komponent “używany do tworzenia serwera WebSocket”, a dokumentacja referencyjna komponentów IPWorks 2024 nie wymienia żadnego komponentu serwera HTTP, więc HTTP jest serwowane skądinąd w stosie.
Ponowne łączenie klienta
sgcWebSockets udostępnia po stronie klienta WatchDog z Enabled, Interval, Attempts, Backoff równym wdbFixed lub wdbExponential, BackoffMultiplier, MaxInterval i Jitter. Opublikowane listy właściwości, metod, zdarzeń i konfiguracji dla WSClient w IPWorks nie zawierają mechanizmu ponownego łączenia, więc pętla ponownego łączenia to kod aplikacji. Oba komponenty zgłaszają zdarzenie rozłączenia, na którym można ją oprzeć.
Edycje w innych językach programowania
Strona pobierania IPWorks wymienia dziesięć edycji tego samego zestawu narzędzi: .NET, Java, C++, macOS, JavaScript, Delphi, C++ Builder, PHP, Python i ActiveX/ASP/COM, a menu platform /n software wymienia dodatkowo Node.js, Go, Rust, Android, iOS, Swift i BizTalk. /n software opisuje efekt jako “wspólne interfejsy komponentów na różnych platformach i w różnych technologiach”. sgcWebSockets jest publikowany dla Delphi i C++ Builder, z osobnym portem w C#, który odwzorowuje te same nazwy klas Tsgc.
/n software deklaruje wsparcie dla “wszystkich wersji Delphi między Delphi 6 a RAD Studio 13”, dla “Windows, Linux i macOS” oraz dla “Lazarus IDE i Free Pascal”. Dokumentacja jego Delphi Edition wymienia pięć platform docelowych, Windows 32-bit, Windows 64-bit, Linux 64-bit, macOS 64-bit i macOS ARM 64-bit, z libipworks.so.24.0 lub libipworks.24.0.dylib wdrażanym obok pliku wykonywalnego na Linuksie i macOS, i bez zależności od DLL na Windows. sgcWebSockets dostarcza pakiety wykonawcze od Delphi 7 do Delphi 13, pakiety C++ Builder od C2007 do C13 oraz pakiet Lazarusa, a także zawiera gałęzie IOS i ANDROID w sgcVer.inc, w tym handler TLS oparty na JNI na Androidzie i handler Network.framework na platformach Apple. Kompiluje się z kodu źródłowego Pascala do pliku wykonywalnego na każdej platformie docelowej.
HTTP/2, HTTP/3 i QUIC
Oba mają klienta HTTP/2 dla Delphi: IPWorks przez HTTPVersion równe “2.0” z automatycznym powrotem do HTTP/1.1, sgcWebSockets przez TsgcHTTP2Client. Powyżej tego drogi się rozchodzą. Serwer HTTP w sgcWebSockets udostępnia blok HTTP2Options, a pakiet sgcQUIC dokłada TsgcQUICClient, TsgcQUICServer, TsgcHTTP3Client i TsgcHTTP3Server. /n software dokumentuje HTTPVersion równe “3.0” i stwierdza, że “HTTP/3 jest obsługiwany tylko w .NET i Java”, więc Delphi Edition go nie zawiera.
Klienty LLM, MCP i WebRTC
Oba obsługują Model Context Protocol: sgcWebSockets przez TsgcWSAPIClient_MCP i TsgcWSAPIServer_MCP, /n software przez osobne MCP SDK 2026 Delphi Edition, przez standardowe wejście i wyjście albo przez HTTP. Poza MCP sgcWebSockets dostarcza klientów czatu dla OpenAI, Anthropic, Gemini, DeepSeek, Grok, Mistral i Ollama oraz stos WebRTC złożony z TsgcSTUNClient, TsgcSTUNServer, TsgcTURNClient, TsgcTURNServer, TsgcICEClient i TsgcRTCPeerConnection. Opublikowany katalog /n software nie wymienia żadnego klienta czatu LLM ani komponentów WebRTC.
Kod źródłowy i to, na co pozwala licencja
Edycje sgcWebSockets z kodem źródłowym zawierają pełny kod źródłowy dla Delphi i C++ Builder, i to ten kod kompiluje projekt; edycje Basic dostarczają zamiast tego prekompilowane pliki DCU. Opublikowane opcje zakupu /n software dla IPWorks Delphi Edition wymieniają jedną pozycję licencyjną bez opcji z kodem źródłowym, a umowa licencyjna użytkownika końcowego stwierdza, że zgadzasz się “nie adaptować, nie tłumaczyć, nie poddawać inżynierii wstecznej, nie dekompilować ani w inny sposób nie odtwarzać kodu źródłowego Oprogramowania”. Premium Support od /n software obejmuje natomiast to, co firma nazywa “ograniczoną analizą kodu źródłowego związaną z komponentami”.