Porównanie sgcWebSockets i IPWorks

Oba produkty dają programiście Delphi komponenty klienta i serwera WebSocket, i oba sięgają znacznie dalej niż sam WebSocket. Poza częścią wspólną obejmują inny obszar. Ta strona opisuje, co robi każdy z nich, protokół po protokole i platforma po platformie, a każde stwierdzenie pochodzi z materiałów opublikowanych przez samego dostawcę i jest podlinkowane w sekcji Źródła.

Co dokładnie jest porównywane

IPWorks to rodzina osobno licencjonowanych zestawów narzędzi, a nie pojedynczy produkt. Przypisanie funkcji z jednego zestawu do innego uczyniłoby tę stronę bezużyteczną, więc produkty objęte zakresem są nazwane tutaj i nazwane ponownie w każdym wierszu, który od nich zależy.

IPWorks 2024 Delphi Edition

/n software · Komercyjny

Podstawowy zestaw narzędzi, kompilacja 24.0.9716, wydana 7 sierpnia 2026. Jego opublikowana dokumentacja referencyjna komponentów opisuje 46 komponentów, w tym WSClient i WSServer dla WebSocket, a także HTTP, REST, GRPC, OAuth, JSON, XML, SOAP, FTP, SMTP, IMAP, POP, LDAP, DNS, XMPP, WebDAV, CalDAV i inne. Wersja 2026 jest opublikowana jako beta.

Oficjalna strona

IPWorks MQ 2024 Delphi Edition

/n software · Komercyjny, sprzedawany osobno

Zestaw narzędzi do wymiany komunikatów. Jego opublikowana dokumentacja referencyjna komponentów opisuje AMQP, AMQPClassic, AmazonSNS, AmazonSQS, AzureRelayProxy, AzureRelayReceiver, AzureRelaySender, CertMgr, JSON, MQTT, STOMP i XMPP. Tam, gdzie ta strona porównuje MQTT, AMQP lub STOMP, chodzi o ten zestaw narzędzi.

Oficjalna strona

IPWorks IoT 2024 Delphi Edition

/n software · Komercyjny, sprzedawany osobno

Zestaw narzędzi IoT. Jego opublikowana dokumentacja referencyjna komponentów opisuje AMQP, AMQPClassic, CertMgr, CoAP, JSON, MQTT, MQTTBroker, MQTTSN, STOMP i XMPP. To ten zestaw narzędzi zawiera wbudowanego brokera MQTT i komponent CoAP.

Oficjalna strona

MCP SDK 2026 Delphi Edition

/n software · Komercyjny, sprzedawany osobno

/n software opisuje go jako “zestaw komponentów do dwukierunkowej komunikacji między modelami LLM a twoim własnym kodem, danymi i kontekstem”, obejmujący Model Context Protocol przez standardowe wejście i wyjście albo przez HTTP, z narzędziami, zasobami, promptami i próbkowaniem. To ten zestaw narzędzi, do którego odnosi się wiersz MCP w matrycy.

Oficjalna strona

Poza zakresem

Wymienione, żebyś wiedział, co zostało pominięte

/n software publikuje także IPWorks SSH, SSL, SFTP, VoIP, IPC, NFS, Encrypt, S/MIME, OpenPGP, Auth, Zip, SNMP, BLE, NFC, EDI, zestawy narzędzi Cloud, Secure PDF, PDF SDK, 3-D Secure, SecureBlackbox oraz adaptery enterprise. Żaden z nich nie jest tu użyty do poparcia jakiegokolwiek stwierdzenia. Tam, gdzie dana możliwość znajduje się w jednym z tych zestawów, a nie w czterech powyższych, matryca mówi o tym w wierszu.

Pełny katalog

Wszystkie fakty o /n software na tej stronie zostały odczytane z nsoftware.com i cdn.nsoftware.com w dniu 6 września 2026, dla IPWorks 2024 Delphi Edition, kompilacja 24.0.9716. Wszystkie fakty o sgcWebSockets zostały odczytane z drzewa kodu źródłowego 2026.9.0 tego samego dnia. Oba produkty często wydają nowe wersje. Jeśli czytasz to kilka miesięcy później, przejdź po linkach i sprawdź.

Obok siebie, wiersz po wierszu

Znacznik () oznacza, że opisuje to dokumentacja referencyjna komponentów samego dostawcy. Kreska () oznacza, że nie pojawia się to w opublikowanej dokumentacji referencyjnej komponentów produktów wymienionych w sekcji Zakres powyżej, co nie jest tym samym co stwierdzenie, że nie da się tego zrobić. Tylda (~) oznacza, że jest to udokumentowane, ale z podanym ograniczeniem, a tekst wiersza mówi, jakim.

WebSocket, RFC 6455

9 wierszy
Funkcja sgcWebSockets 2026.9.0 IPWorks 2024 Delphi Edition
Klient WebSocket TsgcWebSocketClient wobec TipwWSClient, oba przez ws i wss
Serwer WebSocket TsgcWebSocketServer wobec TipwWSServer. IPWorks dokumentuje domyślny limit 1000 jednoczesnych połączeń, podnoszony ustawieniem MaxConnections do najwyżej 100 000
Serwer HTTP na tym samym porcie Serwowanie stron, plików lub tras REST z tego samego procesu, który kończy połączenie WebSocket. sgcWebSockets udostępnia TsgcWebSocketHTTPServer z DocumentRoot, sesjami i OnCommandGet. IPWorks dokumentuje WSServer jako serwer WebSocket, a jego dokumentacja referencyjna komponentów z 2024 nie wymienia żadnego komponentu serwera HTTP
per-message-deflate, RFC 7692 sgcWebSockets udostępnia Extensions.PerMessage_Deflate z bitami okna, przejmowaniem kontekstu i poziomem pamięci. IPWorks udostępnia CompressionMethod po stronie klienta oraz ustawienie EnablePermessageDeflate, domyślnie włączone, po stronie serwera
Negocjacja podprotokołu IPWorks przyjmuje po stronie klienta listę SubProtocols rozdzieloną przecinkami i przekazuje serwerowi żądaną listę w WebSocketOpenRequest. sgcWebSockets negocjuje przez swoje komponenty protokołów, które niosą nazwę Protocol tylko do odczytu
Podtrzymywanie połączenia ping i pong sgcWebSockets używa zestawu opcji HeartBeat. IPWorks dokumentuje metodę Ping i zdarzenie Ping w obu komponentach
Fragmentacja wiadomości wychodzących IPWorks fragmentuje przy MaxFrameSize, domyślnie 131072 bajty, i sygnalizuje kompletność parametrem EOM zdarzenia DataIn. sgcWebSockets strumieniuje przez argument aStreaming metody WriteData i zgłasza OnFragmented
Automatyczne ponowne łączenie klienta sgcWebSockets dostarcza WatchDog z Interval, Attempts, stałym lub wykładniczym Backoff, MaxInterval i Jitter. Dokumentacja referencyjna WSClient w IPWorks nie wymienia żadnej właściwości, metody, zdarzenia ani ustawienia ponownego łączenia, więc ponowne łączenie to kod aplikacji
TLS 1.3 IPWorks wybiera między stosem TLS platformy a wewnętrznym przez SSLProvider i dokumentuje grupy oraz algorytmy podpisu TLS 1.3. sgcWebSockets wybiera między OpenSSL, SChannel, Android TLS i Apple TLS przez TLSOptions.IOHandler, z TLSOptions.Version aż do tls1_3

Wymiana komunikatów i IoT

11 wierszy
Funkcja sgcWebSockets 2026.9.0 IPWorks MQ / IPWorks IoT 2024
Klient MQTT 3.1.1 i 5.0 sgcWebSockets: TsgcWSPClient_MQTT, MQTTVersion równe mqtt311 lub mqtt5. /n software stwierdza, że IPWorks MQ jest “w pełni zgodny z MQTT w wersji 3.1.1 i 5.0”
Wbudowany broker MQTT IPWorks IoT dostarcza MQTTBroker, udokumentowany 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. sgcWebSockets nie ma komponentu brokera MQTT. Jego obsługa MQTT jest po stronie klienta
MQTT-SN IPWorks IoT dokumentuje komponent MQTTSN. W drzewie kodu źródłowego sgcWebSockets nie ma modułu MQTT-SN
CoAP IPWorks IoT dokumentuje komponent CoAP. W drzewie kodu źródłowego sgcWebSockets nie ma modułu CoAP
Klient AMQP 1.0 i 0.9.1 sgcWebSockets: TsgcWSPClient_AMQP1 dla 1.0 i TsgcWSPClient_AMQP dla 0.9.1. /n software stwierdza “AMQP 1.0 i 0.9.1 w pełni obsługiwane” i dostarcza AMQP oraz AMQPClassic
Klient STOMP sgcWebSockets dostarcza TsgcWSPClient_STOMP oraz warianty dla RabbitMQ i ActiveMQ. /n software podaje wersje STOMP 1.1 i 1.2 dla IPWorks MQ
Klient i serwer WAMP sgcWebSockets dostarcza TsgcWSPClient_WAMP, TsgcWSPClient_WAMP2 i TsgcWSPServer_WAMP. WAMP nie pojawia się w dokumentacji referencyjnej komponentów IPWorks MQ ani IPWorks IoT
Klient Kafka sgcWebSockets dostarcza TsgcWSPClient_Kafka. Kafka nie pojawia się w dokumentacji referencyjnej komponentów IPWorks MQ ani IPWorks IoT
Azure Relay IPWorks MQ dokumentuje AzureRelaySender, AzureRelayReceiver i AzureRelayProxy. sgcWebSockets nie ma komponentu Azure Relay
Amazon SQS i SNS IPWorks MQ dokumentuje zarówno AmazonSQS, jak i AmazonSNS. sgcWebSockets rejestruje TsgcHTTPAWS_SQS_Client dla SQS i nie ma komponentu SNS ~
Zarządzane brokery IoT w chmurze sgcWebSockets rejestruje TsgcIoTAmazon_MQTT_Client i TsgcIoTAzure_MQTT_Client, wstępnie skonfigurowane dla AWS IoT Core i Azure IoT Hub. IPWorks IoT udostępnia ogólny komponent MQTT, aby dosięgnąć tych samych brokerów ~

HTTP, web i AI

9 wierszy
Funkcja sgcWebSockets 2026.9.0 IPWorks 2024 Delphi Edition
Klient HTTP/1.1 Oba go dostarczają. IPWorks dokumentuje komponent HTTP z ciasteczkami, przekierowaniami, proxy, zakresami i strumieniami
Klient HTTP/2 IPWorks przyjmuje HTTPVersion równe “2.0” i wraca do HTTP/1.1, gdy serwer go nie oferuje. sgcWebSockets dostarcza TsgcHTTP2Client, zależny od definicji SGC_HTTP2
Serwer HTTP/2 Serwer HTTP w sgcWebSockets udostępnia HTTP2Options z ustawieniami, ogłaszaniem usługi alternatywnej i pulą wątków. W dokumentacji referencyjnej komponentów IPWorks 2024 nie pojawia się żaden komponent serwera HTTP
HTTP/3 i QUIC /n software dokumentuje HTTPVersion równe “3.0” i stwierdza wprost, że “HTTP/3 jest obsługiwany tylko w .NET i Java”, więc nie jest dostępny w Delphi Edition. sgcWebSockets dostarcza TsgcHTTP3Client, TsgcHTTP3Server, TsgcQUICClient i TsgcQUICServer w pakiecie dodatkowym sgcQUIC
Klient gRPC IPWorks 2024 dokumentuje komponent GRPC. sgcWebSockets rejestruje TsgcGRPCClient, zależny od definicji SGC_GRPC
Server-Sent Events Serwer sgcWebSockets ma zapasowy mechanizm SSE, FallBack.ServerSentEvents, dla klientów, które nie mogą przełączyć protokołu. SSE nie pojawia się w dokumentacji referencyjnej komponentów IPWorks 2024
Model Context Protocol sgcWebSockets rejestruje TsgcWSAPIClient_MCP i TsgcWSAPIServer_MCP. /n software obsługuje MCP w osobnym produkcie, MCP SDK 2026 Delphi Edition, przez standardowe wejście i wyjście albo przez HTTP
Klienty czatu LLM sgcWebSockets dostarcza dedykowanych klientów dla OpenAI, Anthropic, Gemini, DeepSeek, Grok, Mistral i Ollama, po jednym module na każdego. W katalogu produktów /n software nie pojawia się żaden klient czatu LLM; jego kategoria AI Integration zawiera MCP SDK
WebRTC, STUN, TURN i ICE sgcWebSockets rejestruje TsgcSTUNClient, TsgcSTUNServer, TsgcTURNClient, TsgcTURNServer, TsgcICEClient i TsgcRTCPeerConnection. Żaden z nich nie pojawia się w dokumentacji referencyjnej komponentów IPWorks 2024

Kompilatory, platformy i wdrożenie

7 wierszy
Pozycja sgcWebSockets 2026.9.0 IPWorks 2024 Delphi Edition
Wersje Delphi Deklaracje dostawców Delphi 7 do Delphi 13 Delphi 6 do RAD Studio 13
C++ Builder sgcWebSockets dostarcza pakiety C++ Builder od C2007 do C13. /n software sprzedaje osobną edycję C++ Builder Edition produktu IPWorks z natywnymi komponentami VCL
Lazarus i Free Pascal sgcWebSockets dostarcza sgcWebSocketsLazarus.lpk i gałąź FPC w sgcVer.inc. /n software podaje “Wsparcie dla Lazarus IDE i Free Pascal” na swojej stronie platformy Delphi
Platformy docelowe desktopowe i serwerowe IPWorks Delphi Edition dokumentuje Windows 32-bit, Windows 64-bit, Linux 64-bit, macOS 64-bit i macOS ARM 64-bit
iOS i Android z Delphi sgcWebSockets zawiera gałęzie IOS i ANDROID w całym sgcVer.inc, w tym handler TLS oparty na JNI dla Androida i handler Network.framework dla Apple. Lista platform IPWorks Delphi Edition kończy się na Windows, Linux i macOS. /n software obsługuje urządzenia mobilne przez swoje osobne edycje Java, macOS, Android i iOS
Pliki wykonawcze do wdrożenia /n software podaje, że na Windows “przy wdrożeniu nie są wymagane żadne dodatkowe pliki (brak zależności od .dll)”, a że na Linuksie trzeba wdrożyć libipworks.so.24.0, a na macOS libipworks.24.0.dylib obok pliku wykonywalnego. sgcWebSockets kompiluje się z kodu źródłowego Pascala do pliku wykonywalnego na każdej platformie docelowej, więc nic własnego nie jest wdrażane obok ~
To samo API w innych językach Strona pobierania IPWorks wymienia dziesięć edycji: .NET, Java, C++, macOS, JavaScript, Delphi, C++ Builder, PHP, Python i ActiveX/ASP/COM. Menu platform /n software wymienia dodatkowo Node.js, Go, Rust, Android, iOS, Swift i BizTalk. sgcWebSockets jest publikowany dla Delphi i C++ Builder oraz jako osobny port w C# ~
Udokumentowane przez dostawcę Brak w opublikowanej dokumentacji referencyjnej komponentów ~ Udokumentowane z podanym ograniczeniem

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.

Kompilatory, platformy docelowe i to, co trafia obok pliku wykonywalnego

/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”.

To samo zadanie w obu API

Połącz się z bezpiecznym punktem końcowym WebSocket, poproś o kompresję i wypisz to, co przychodzi. Listing sgcWebSockets używa klas, właściwości i zdarzeń odczytanych z dostarczanego drzewa kodu źródłowego. Listing IPWorks używa wyłącznie nazw i sygnatur wydrukowanych w dokumentacji referencyjnej IPWorks 2024 Delphi Edition i został napisany tutaj, a nie skopiowany z przykładu /n software.

sgcWebSockets

uses
  sgcWebSocket, sgcWebSocket_Classes, sgcWebSocket_Types, sgcTCP_Classes;

var
  WSClient: TsgcWebSocketClient;
begin
  WSClient := TsgcWebSocketClient.Create(nil);
  WSClient.URL := 'wss://stream.example.com/feed';

  // TLS backend and floor
  WSClient.TLSOptions.IOHandler := iohOpenSSL;
  WSClient.TLSOptions.Version   := tls1_3;

  // RFC 7692 compression
  WSClient.Extensions.PerMessage_Deflate.Enabled := True;

  // Reconnect with exponential backoff and jitter
  WSClient.WatchDog.Enabled           := True;
  WSClient.WatchDog.Interval          := 5;
  WSClient.WatchDog.Attempts          := 0; // keep trying
  WSClient.WatchDog.Backoff           := wdbExponential;
  WSClient.WatchDog.BackoffMultiplier := 2;
  WSClient.WatchDog.MaxInterval       := 60;

  WSClient.OnConnect := WSConnect;
  WSClient.OnMessage := WSMessage;

  WSClient.Active := True;
end;

procedure TForm1.WSConnect(Connection: TsgcWSConnection);
begin
  Connection.WriteData('{"op":"subscribe","channel":"ticker"}');
end;

procedure TForm1.WSMessage(Connection: TsgcWSConnection;
  const Text: string);
begin
  Memo1.Lines.Add(Text);
end;

IPWorks

// The component is dropped from the IPWorks 2024 palette tab, or the unit is
// added to the uses clause as described on the Supported Platforms page.

begin
  ipwWSClient1.URL := 'wss://stream.example.com/feed';

  // TLS stack selection. Automatic is the documented default.
  ipwWSClient1.SSLProvider := sslpAutomatic;

  // RFC 7692 compression, off by default
  ipwWSClient1.CompressionMethod := cmtdDeflate;

  // Comma-separated, in order of preference; read back after connect
  // to learn which one the server chose
  ipwWSClient1.SubProtocols := 'ticker';

  ipwWSClient1.Connect;
  ipwWSClient1.SendText('{"op":"subscribe","channel":"ticker"}');
end;

procedure TForm1.ipwWSClient1DataIn(Sender: TObject; DataFormat: Integer;
  const Text: String; const TextB: TBytes;
  EOM: Boolean; EOL: Boolean);
begin
  Memo1.Lines.Add(Text);
end;

Dwie różnice warto nazwać, zamiast je oceniać. IPWorks dostarcza każdą wiadomość przez jedno zdarzenie DataIn z flagą EOM, więc częściowe wiadomości są dla ciebie widoczne, o ile nie ustawisz BufferMessage, podczas gdy sgcWebSockets zgłasza OnMessage dla tekstu, OnBinary dla danych binarnych i OnFragmented dla fragmentów. A /n software zaznacza, że jego komponenty serwerowe oczekują wywoływania DoEvents w pętli po uruchomieniu serwera, co kształtuje sposób pisania hosta konsolowego lub usługi.

Licencjonowanie, kod źródłowy i wsparcie

Ceny się zmieniają. To są kwoty opublikowane 6 września 2026, a obaj dostawcy publikują je otwarcie, więc sprawdź je, zanim ułożysz budżet.

 sgcWebSocketsIPWorks 2024 Delphi Edition
Jednostka licencji Na programistę, z opcjami Single, Team of two i Site, w edycjach Standard, Professional i Enterprise. Na programistę. Delphi Edition jest wymieniona jako “subskrypcja dla jednego programisty, dystrybucja bez opłat licencyjnych, bezpłatne aktualizacje przez rok, licencja wieczysta” za $999.
Pakiet wieloplatformowy Produkty Delphi i .NET są licencjonowane osobno. Red Carpet Subscription obejmuje wszystkie edycje i platformy dla jednego programisty, za $1,999, lub $2,499 ze wsparciem premium. Licencja zespołowa dla czterech programistów kosztuje $5,999, lub $7,999 ze wsparciem premium. Licencjonowanie Site i enterprise jest wyceniane indywidualnie. Okres wynosi dwanaście miesięcy.
Kupowanie tylko tego, czego potrzebujesz Edycje są warstwowe, a kilka możliwości jest dostarczanych jako osobne pakiety dodatkowe. /n software stwierdza “nasze produkty są oferowane jako część zestawu narzędzi i nie są dostępne w sprzedaży pojedynczo”. WebSocket, MQTT i CoAP znajdują się zatem w trzech różnych zestawach narzędzi.
Kod źródłowy Edycje z kodem źródłowym zawierają pełny kod źródłowy dla Delphi i C++ Builder, i to ten kod kompiluje twój projekt. Edycje Basic dostarczają prekompilowane pliki DCU. Opublikowane opcje zakupu Delphi Edition wymieniają jedną pozycję licencyjną bez opcji z kodem źródłowym. 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”.
Redystrybucja Płatne licencje obejmują redystrybucję binariów bez opłat licencyjnych. Bez opłat licencyjnych tam, gdzie tak mówi formularz zamówienia: aplikacje mogą być dystrybuowane “bez należnych dodatkowych opłat”, pod warunkiem że nie zawierają modyfikacji, są w skompilowanej postaci wykonywalnej i nie zapewniają zasadniczo tej samej funkcjonalności co Oprogramowanie.
Wsparcie Wsparcie e-mailowe wraz z licencją oraz opcjonalne plany wsparcia z deklarowanym czasem odpowiedzi cztery, trzy lub dwie godziny w dni robocze, zależnie od edycji. “Bezpłatne wsparcie e-mailowe jest dostępne dla wszystkich użytkowników. Na pytania odpowiadamy w kolejności zgłoszeń.” Premium Support to płatny dodatek dla klientów Red Carpet Subscription, gwarantujący odpowiedź “w ciągu jednego dnia roboczego” i obejmujący nieopublikowane przykłady oraz “ograniczoną analizę kodu źródłowego związaną z komponentami”.
Wersja próbna Bezpłatna edycja Trial, do pobrania bez składania zamówienia. W pełni funkcjonalne wersje próbne, licencjonowane na trzydzieści dni od pierwszego użycia.

Której edycji sgcWebSockets wymaga każda funkcja

Wzięte z definicji kompilatora w sgcVer.inc, czyli z tego, co faktycznie jest kompilowane, a nie z tabeli marketingowej.

EdycjaWłączone definicje funkcjiCo to tu oznacza
Standard SGC_WS_CLIENT, SGC_PROTOCOLS, SGC_MQTT, SGC_AMQP, SGC_AMQP1, SGC_STOMP, SGC_WAMP, SGC_KAFKA, SGC_IOT, SGC_APIS, SGC_OAUTH, SGC_JWT Wszystko po stronie klienta, w tym wszystkie protokoły komunikatów porównane powyżej. Odpowiada stronie klienckiej projektu opartego na IPWorks plus IPWorks MQ.
Professional SGC_WEBSOCKET_SERVER, SGC_REST_SERVER, SGC_FIREWALL, SGC_RATELIMITER, SGC_CIRCUITBREAKER, SGC_APIKEYMANAGER, SGC_SCHANNEL Serwery WebSocket i HTTP oraz komponenty brzegowe. SGC_WEBSOCKET_SERVER znajduje się wewnątrz bloku SGC_EDT_PRO, więc każde porównanie po stronie serwera zaczyna się tutaj.
Enterprise SGC_HTTP2, SGC_GRPC, SGC_HTTPAPI, SGC_INDY_IOCP, SGC_INDY_EPOLL, SGC_OPENAI, SGC_ANTHROPIC, SGC_GEMINI, SGC_DEEPSEEK, SGC_GROK, SGC_MISTRAL, SGC_OLLAMA, SGC_AI_MCP, SGC_ICE, SGC_DTLS, SGC_TURN, SGC_RTCPEERCONNECTION, SGC_OAUTH_SERVER, SGC_JWT_SERVER, SGC_WEBAUTHN HTTP/2, gRPC, wysokowydajne serwery http.sys oraz IOCP lub epoll, komponenty LLM i MCP oraz stos WebRTC.
Pakiet sgcQUIC SGC_QUIC, SGC_HTTP3, SGC_WEBTRANSPORT QUIC, HTTP/3 i WebTransport przychodzą przez blok SGC_PACK_QUIC, a nie przez trzy edycje powyżej.

Pytania, które zwykle rodzi to porównanie

Krótkie odpowiedzi, każdą można prześledzić do źródeł wymienionych poniżej.

Kilka. /n software publikuje katalog osobno licencjonowanych zestawów narzędzi. Komponenty WebSocket WSClient i WSServer są dostarczane w podstawowym zestawie IPWorks. MQTT, AMQP i STOMP są w IPWorks MQ. CoAP, MQTT-SN i broker MQTT są w IPWorks IoT. MCP jest w MCP SDK. /n software stwierdza też, że jego produkty są sprzedawane jako zestawy narzędzi, a nie jako pojedyncze komponenty, więc projekt potrzebujący WebSocket, MQTT i CoAP potrzebuje trzech zestawów. Red Carpet Subscription łączy cały katalog dla jednego programisty.
/n software dokumentuje WSServer jako komponent “używany do tworzenia serwera WebSocket”, ze zdarzeniem żądania otwarcia WebSocket, identyfikatorami dla każdego połączenia i TLS. Dokumentacja referencyjna komponentów IPWorks 2024 nie wymienia komponentu serwera HTTP, więc strony, pliki statyczne i trasy REST pochodziłyby z czegoś innego w twoim stosie. sgcWebSockets udostępnia TsgcWebSocketHTTPServer, który obsługuje oba na jednym porcie, z DocumentRoot, sesjami, kompresją HTTP i blokiem HTTP2Options.
/n software publikuje liczbę: każda instancja WSServer obsługuje domyślnie do 1000 jednoczesnych połączeń, a ustawienie MaxConnections podnosi to do najwyżej 100 000. sgcWebSockets nie publikuje odpowiednika takiego limitu. Udostępnia właściwość MaxConnections, pulę wątków, a w edycji Enterprise transporty IOCP, epoll i http.sys, a liczba, którą osiągniesz, zależy od tego, który z nich wybierzesz, i od hosta. Zmierz to sam, zamiast brać którąkolwiek z tych liczb na wiarę.
sgcWebSockets, przez właściwość WatchDog po stronie klienta, która udostępnia Enabled, Interval, Attempts, Backoff równe 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 tę logikę piszesz sam. Oba komponenty udostępniają natomiast zdarzenie Disconnected lub OnDisconnect, na którym można ją zawiesić.
IPWorks 2024 Delphi Edition dokumentuje pięć platform docelowych: Windows 32-bit, Windows 64-bit, Linux 64-bit, macOS 64-bit i macOS ARM 64-bit. iOS i Androida nie ma wśród nich, a /n software obsługuje te platformy przez swoje osobne edycje Java, macOS, Android i iOS. sgcWebSockets kompiluje się dla iOS i Androida z tego samego kodu źródłowego Delphi, z handlerami TLS platformy dla obu.
Tak, z innymi wartościami domyślnymi i inną szczegółowością. IPWorks udostępnia CompressionMethod po stronie klienta, domyślnie cmtdNone, oraz serwerowe ustawienie EnablePermessageDeflate, które domyślnie ma wartość True i respektuje to, o co prosi klient. sgcWebSockets udostępnia Extensions.PerMessage_Deflate z Enabled, ClientMaxWindowBits, ServerMaxWindowBits, ClientNoContextTakeOver, ServerNoContextTakeOver i MemLevel, więc parametry negocjacji ustawiasz sam.
Komponent HTTP w IPWorks przyjmuje HTTPVersion równe “3.0”, a ta sama strona stwierdza, że “HTTP/3 jest obsługiwany tylko w .NET i Java”, więc Delphi Edition tego nie ma. sgcWebSockets dostarcza TsgcHTTP3Client, TsgcHTTP3Server, TsgcQUICClient i TsgcQUICServer, choć nie w trzech głównych edycjach: przychodzą z pakietem sgcQUIC, przez blok SGC_PACK_QUIC w sgcVer.inc. Z HTTP/2 jest inaczej, oba produkty mają klienta HTTP/2 dla Delphi.
W przypadku sgcWebSockets edycje z kodem źródłowym zawierają pełny kod źródłowy dla Delphi i C++ Builder, i to ten kod kompiluje twój projekt. Edycje Basic dostarczają zamiast tego prekompilowane pliki DCU. W przypadku IPWorks opublikowane opcje zakupu Delphi Edition wymieniają jedną pozycję licencyjną i żadnej 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 obejmuje natomiast to, co /n software nazywa “ograniczoną analizą kodu źródłowego związaną z komponentami”. Jeśli masz konkretną potrzebę, zapytaj /n software bezpośrednio, zamiast polegać na tej stronie.
To osobne zestawy komponentów z osobnymi prefiksami modułów i klas, ipw dla IPWorks i sgc dla sgcWebSockets, więc z założenia nie ma kolizji nazw. Zespół, który ma już IPWorks do SFTP lub EDI i chce serwera sgcWebSockets do swojej warstwy czasu rzeczywistego, to normalny układ, a żaden z dostawców nie wymaga wyłączności.

Każde stwierdzenie z linkiem

Wszystkie strony /n software zostały odczytane 6 września 2026. Tam, gdzie ta strona cytuje /n software, słowa w cudzysłowie należą do nich. Stwierdzenia o sgcWebSockets opierają się na dostarczanym drzewie kodu źródłowego 2026.9.0, a moduł lub definicja jest nazwana w wierszu, żeby licencjobiorca mógł to sprawdzić.

ŹródłoURL
/n software: pełny katalog produktówhttps://www.nsoftware.com/products
IPWorks: przegląd produktu i lista komponentówhttps://www.nsoftware.com/ipworks
IPWorks: strona pobierania, bieżąca wersja i kompilacjahttps://www.nsoftware.com/ipworks/download
Dokumentacja referencyjna IPWorks 2024 Delphi Edition, lista komponentówhttps://cdn.nsoftware.com/help/IPJ/dlp/
IPWorks 2024 Delphi Edition: komponent WSClienthttps://cdn.nsoftware.com/help/IPJ/dlp/WSClient.htm
IPWorks 2024 Delphi Edition: komponent WSServerhttps://cdn.nsoftware.com/help/IPJ/dlp/WSServer.htm
IPWorks 2024 Delphi Edition: komponent HTTP, HTTPVersion i uwaga o HTTP/3https://cdn.nsoftware.com/help/IPJ/dlp/HTTP.htm
IPWorks 2024 Delphi Edition: obsługiwane platformy i pliki wdrożeniowehttps://cdn.nsoftware.com/help/IPJ/dlp/platforms.htm
/n software: strona platformy Delphi, deklaracje o kompilatorach i systemachhttps://www.nsoftware.com/platforms/delphi
IPWorks MQ: obsługiwane wersje protokołówhttps://www.nsoftware.com/ipworks/mq
Dokumentacja referencyjna IPWorks MQ 2024 Delphi Edition, lista komponentówhttps://cdn.nsoftware.com/help/ITJ/dlp/
Dokumentacja referencyjna IPWorks IoT 2024 Delphi Edition, lista komponentówhttps://cdn.nsoftware.com/help/IOJ/dlp/
IPWorks IoT 2024 Delphi Edition: komponent MQTTBrokerhttps://cdn.nsoftware.com/help/IOJ/dlp/MQTTBroker.htm
IPWorks EDI: protokoły i lista komponentów, źródło wzmianki o AS2https://www.nsoftware.com/ipworksedi
MCP SDK: przegląd produktuhttps://www.nsoftware.com/mcpsdk
IPWorks: opcje zakupu Delphi Edition, część IPDJ-Ahttps://www.nsoftware.com/ipworks/order
/n software: Red Carpet Subscriptionhttps://www.nsoftware.com/subscriptions
/n software: FAQ sprzedaży, sprzedaż wyłącznie zestawów narzędzi i warunki wsparciahttps://www.nsoftware.com/order/faq
/n software: opcje wsparcia, standardowe i premiumhttps://www.nsoftware.com/support
IPWorks: umowa licencyjna użytkownika końcowego, okres próbny, klauzula o braku opłat licencyjnych, klauzula o inżynierii wstecznejhttps://www.nsoftware.com/ipworks/license
sgcWebSockets: strona produktuhttps://www.esegece.com/products/websockets/
sgcWebSockets: cennik, edycje i co każda z nich zawierahttps://www.esegece.com/products/websockets/pricing/
sgcWebSockets: pełna matryca funkcji Delphihttps://www.esegece.com/products/websockets/features/feature-matrix-delphi/
sgcWebSockets: porównanie z Indy, ICS, TMS FNC i mORMot 2https://www.esegece.com/products/websockets/comparison/
RFC 6455, The WebSocket Protocolhttps://datatracker.ietf.org/doc/html/rfc6455
RFC 7692, Compression Extensions for WebSockethttps://datatracker.ietf.org/doc/html/rfc7692

IPWorks, IPWorks MQ, IPWorks IoT, MCP SDK, Red Carpet Subscription i /n software są znakami towarowymi /n software inc., które nie ma nic wspólnego z tą stroną. Napisała ją eSeGeCe, a eSeGeCe sprzedaje jeden z dwóch porównywanych produktów. Właśnie dlatego każde stwierdzenie powyżej ma link: sprawdź te, które mają znaczenie dla twojej decyzji.

Inne porównania. To samo podejście dla TMS Software i dla Chilkat, albo szerszy przegląd bibliotek WebSocket dla Delphi i C++ Builder obejmujący Indy, ICS i mORMot 2. Jeśli kwestia biblioteki jest rozstrzygnięta i wolisz zobaczyć kod, przypadki użycia Delphi prowadzą jedno zadanie na stronę od pustego formularza do czegoś, co działa.

Najkorzystniejsza oferta: All-AccessWszystkie produkty eSeGeCe, ze wsparciem Premium w cenie, już od €1,059 rocznie.
Zobacz cennik All-Access

Wypróbuj to na własnym obciążeniu

Edycja Trial to cały produkt. Skieruj ją na punkt końcowy, z którym naprawdę musisz się komunikować, i zobacz, jak się zachowuje, zanim zdecydujesz.