sgcWebSockets と IPWorks の比較
どちらの製品も Delphi 開発者に WebSocket のクライアントとサーバーのコンポーネントを提供し、いずれも WebSocket にとどまりません。重なる部分の外では、カバーする領域が異なります。このページでは、それぞれが何を提供するのかをプロトコルごと、プラットフォームごとに整理します。すべての記述はベンダー自身が公開している資料から採り、出典セクションでリンクしています。
どちらの製品も Delphi 開発者に WebSocket のクライアントとサーバーのコンポーネントを提供し、いずれも WebSocket にとどまりません。重なる部分の外では、カバーする領域が異なります。このページでは、それぞれが何を提供するのかをプロトコルごと、プラットフォームごとに整理します。すべての記述はベンダー自身が公開している資料から採り、出典セクションでリンクしています。
IPWorks は単一の製品ではなく、個別にライセンスされるツールキットのファミリーです。あるツールキットの機能を別のツールキットに帰属させてしまうとこのページは無意味になるため、対象とする製品はここで明示し、それに依存するすべての行でも改めて明示します。
eSeGeCe · 商用、ソースコード同梱
WebSocket のクライアントとサーバー、HTTP と HTTP/2、MQTT、AMQP、STOMP、WAMP、Kafka、WebRTC、LLM と MCP のクライアント、そしてサードパーティ API との連携をカバーする、Delphi と C++ Builder 向けの 1 つのスイートです。Standard、Professional、Enterprise の各エディションと、任意で追加できるアドオンパックとして販売されています。バージョンは製品ソースツリーの sgcBase_Const.pas で確認しました。
/n software · 商用
中核となるツールキットで、ビルド 24.0.9716、2026 年 8 月 7 日リリースです。公開されているコンポーネントリファレンスには 46 個のコンポーネントが記載されており、WebSocket 用の WSClient と WSServer のほか、HTTP、REST、GRPC、OAuth、JSON、XML、SOAP、FTP、SMTP、IMAP、POP、LDAP、DNS、XMPP、WebDAV、CalDAV などが含まれます。2026 年版はベータとして公開されています。
/n software · 商用、別売り
メッセージング用のツールキットです。公開されているコンポーネントリファレンスには AMQP、AMQPClassic、AmazonSNS、AmazonSQS、AzureRelayProxy、AzureRelayReceiver、AzureRelaySender、CertMgr、JSON、MQTT、STOMP、XMPP が記載されています。このページで MQTT、AMQP、STOMP を比較している箇所が指しているのは、このツールキットです。
/n software · 商用、別売り
IoT 用のツールキットです。公開されているコンポーネントリファレンスには AMQP、AMQPClassic、CertMgr、CoAP、JSON、MQTT、MQTTBroker、MQTTSN、STOMP、XMPP が記載されています。組み込み MQTT ブローカーと CoAP コンポーネントを担うのはこのツールキットです。
/n software · 商用、別売り
/n software はこれを「LLM と、独自のコード、データ、コンテキストとの間で双方向通信を行うためのコンポーネント一式」と説明しており、標準入出力または HTTP 上の Model Context Protocol を、ツール、リソース、プロンプト、サンプリングとともにカバーします。マトリクスの MCP の行が参照しているのはこのツールキットです。
何を除外したかが分かるように挙げています
/n software は IPWorks SSH、SSL、SFTP、VoIP、IPC、NFS、Encrypt、S/MIME、OpenPGP、Auth、Zip、SNMP、BLE、NFC、EDI、各種 Cloud ツールキット、Secure PDF、PDF SDK、3-D Secure、SecureBlackbox、エンタープライズ向けアダプターも公開しています。ここでの記述の裏付けにはそれらを一切使っていません。ある機能が上記 4 つではなくこれらのいずれかにある場合は、マトリクスの該当行にその旨を記しています。
このページの /n software に関する事実はすべて、2026 年 9 月 6 日に nsoftware.com と cdn.nsoftware.com から、IPWorks 2024 Delphi Edition, build 24.0.9716 を対象に読み取りました。sgcWebSockets に関する事実はすべて、同じ日に 2026.9.0 のソースツリーから読み取りました。どちらの製品も頻繁に更新されます。数か月後にお読みの場合は、リンク先をたどって確認してください。
チェック()は、ベンダー自身のコンポーネントリファレンスにその記載があることを示します。ダッシュ(—)は、上の対象範囲セクションで挙げた製品の公開コンポーネントリファレンスに記載がないことを示します。これは、実現できないという意味ではありません。チルダ(~)は、記載はあるが制限が明示されていることを示し、その内容は行の本文に書いています。
| 機能 | sgcWebSockets 2026.9.0 | IPWorks 2024 Delphi Edition |
|---|---|---|
WebSocket クライアント
TsgcWebSocketClient と TipwWSClient。どちらも ws と wss に対応します
|
||
WebSocket サーバー
TsgcWebSocketServer と TipwWSServer。IPWorks は同時接続の既定上限を 1,000 と記載しており、MaxConnections 設定で最大 100,000 まで引き上げられます
|
||
同一ポート上の HTTP サーバー
WebSocket を終端するのと同じプロセスから、ページ、ファイル、REST のルートを提供します。sgcWebSockets は DocumentRoot、セッション、OnCommandGet を備えた TsgcWebSocketHTTPServer を提供します。IPWorks は WSServer を WebSocket サーバーとして記載しており、2024 年版のコンポーネントリファレンスには HTTP サーバーコンポーネントの記載がありません
|
— | |
per-message-deflate、RFC 7692
sgcWebSockets はウィンドウビット、コンテキストテイクオーバー、メモリレベルを備えた Extensions.PerMessage_Deflate を公開します。IPWorks はクライアントに CompressionMethod を、サーバーに既定で有効な EnablePermessageDeflate 設定を公開します
|
||
サブプロトコルのネゴシエーション
IPWorks はクライアントでカンマ区切りの SubProtocols リストを受け取り、サーバーには要求されたリストを WebSocketOpenRequest で渡します。sgcWebSockets はプロトコルコンポーネントを通じてネゴシエートし、それらは読み取り専用の Protocol 名を持ちます
|
||
Ping と Pong のキープアライブ
sgcWebSockets は HeartBeat のオプション群を使います。IPWorks は両コンポーネントに Ping メソッドと Ping イベントを記載しています
|
||
送信メッセージのフラグメント化
IPWorks は既定 131072 バイトの MaxFrameSize でフラグメント化し、完結したかどうかを DataIn の EOM パラメーターで示します。sgcWebSockets は WriteData の aStreaming 引数でストリーミングし、OnFragmented を発生させます
|
||
クライアントの自動再接続
sgcWebSockets は Interval、Attempts、固定または指数の Backoff、MaxInterval、Jitter を備えた WatchDog を同梱しています。IPWorks の WSClient のリファレンスには再接続のプロパティ、メソッド、イベント、設定の記載がないため、再接続はアプリケーション側のコードになります
|
— | |
TLS 1.3
IPWorks は SSLProvider でプラットフォームの TLS スタックと内部の TLS スタックを選択し、TLS 1.3 のグループと署名アルゴリズムを記載しています。sgcWebSockets は TLSOptions.IOHandler で OpenSSL、SChannel、Android TLS、Apple TLS を選択し、TLSOptions.Version は tls1_3 まで指定できます
|
| 機能 | sgcWebSockets 2026.9.0 | IPWorks MQ / IPWorks IoT 2024 |
|---|---|---|
MQTT 3.1.1 と 5.0 のクライアント
sgcWebSockets: TsgcWSPClient_MQTT、MQTTVersion は mqtt311 または mqtt5。/n software は IPWorks MQ が「MQTT バージョン 3.1.1 および 5.0 に完全準拠」と述べています
|
||
組み込み MQTT ブローカー
IPWorks IoT は MQTTBroker を同梱しており、「バージョン 3.1.1 に対応した軽量かつ全機能を備えた MQTT ブローカーの実装」として記載され、平文 TCP、TLS、WebSocket、セキュア WebSocket で待ち受けます。sgcWebSockets に MQTT ブローカーのコンポーネントはありません。その MQTT 対応はクライアント側です
|
— | |
MQTT-SN
IPWorks IoT は MQTTSN コンポーネントを記載しています。sgcWebSockets のソースツリーに MQTT-SN のユニットはありません
|
— | |
CoAP
IPWorks IoT は CoAP コンポーネントを記載しています。sgcWebSockets のソースツリーに CoAP のユニットはありません
|
— | |
AMQP 1.0 と 0.9.1 のクライアント
sgcWebSockets: 1.0 は TsgcWSPClient_AMQP1、0.9.1 は TsgcWSPClient_AMQP。/n software は「AMQP 1.0 および 0.9.1 に完全対応」と述べ、AMQP と AMQPClassic を提供しています
|
||
STOMP クライアント
sgcWebSockets は TsgcWSPClient_STOMP と、RabbitMQ および ActiveMQ の派生版を提供します。/n software は IPWorks MQ について STOMP のバージョン 1.1 と 1.2 と述べています
|
||
WAMP のクライアントとサーバー
sgcWebSockets は TsgcWSPClient_WAMP、TsgcWSPClient_WAMP2、TsgcWSPServer_WAMP を提供します。WAMP は IPWorks MQ と IPWorks IoT のコンポーネントリファレンスには登場しません
|
— | |
Kafka クライアント
sgcWebSockets は TsgcWSPClient_Kafka を提供します。Kafka は IPWorks MQ と IPWorks IoT のコンポーネントリファレンスには登場しません
|
— | |
Azure Relay
IPWorks MQ は AzureRelaySender、AzureRelayReceiver、AzureRelayProxy を記載しています。sgcWebSockets に Azure Relay のコンポーネントはありません
|
— | |
Amazon SQS と SNS
IPWorks MQ は AmazonSQS と AmazonSNS の両方を記載しています。sgcWebSockets は SQS 用に TsgcHTTPAWS_SQS_Client を登録しており、SNS のコンポーネントはありません
|
~ | |
マネージドクラウドの IoT ブローカー
sgcWebSockets は AWS IoT Core と Azure IoT Hub 向けにあらかじめ設定された TsgcIoTAmazon_MQTT_Client と TsgcIoTAzure_MQTT_Client を登録しています。IPWorks IoT は同じブローカーに到達するために汎用の MQTT コンポーネントを提供します
|
~ |
| 機能 | sgcWebSockets 2026.9.0 | IPWorks 2024 Delphi Edition |
|---|---|---|
HTTP/1.1 クライアント
どちらも提供します。IPWorks は Cookie、リダイレクト、プロキシ、レンジ、ストリームを備えた HTTP コンポーネントを記載しています
|
||
HTTP/2 クライアント
IPWorks は HTTPVersion に「2.0」を受け付け、サーバーが対応していない場合は HTTP/1.1 にフォールバックします。sgcWebSockets は SGC_HTTP2 の定義で制御される TsgcHTTP2Client を提供します
|
||
HTTP/2 サーバー
sgcWebSockets の HTTP サーバーは、設定、代替サービスの通知、スレッドプールを備えた HTTP2Options を公開します。IPWorks 2024 のコンポーネントリファレンスには HTTP サーバーコンポーネントは登場しません
|
— | |
HTTP/3 と QUIC
/n software は HTTPVersion の「3.0」を記載しつつ、「HTTP/3 は .NET と Java でのみサポートされる」と明記しているため、Delphi Edition では利用できません。sgcWebSockets は sgcQUIC アドオンパックで TsgcHTTP3Client、TsgcHTTP3Server、TsgcQUICClient、TsgcQUICServer を提供します
|
— | |
gRPC クライアント
IPWorks 2024 は GRPC コンポーネントを記載しています。sgcWebSockets は SGC_GRPC の定義で制御される TsgcGRPCClient を登録しています
|
||
Server-Sent Events
sgcWebSockets のサーバーは、アップグレードできないクライアント向けに SSE のフォールバック FallBack.ServerSentEvents を備えています。SSE は IPWorks 2024 のコンポーネントリファレンスには登場しません
|
— | |
Model Context Protocol
sgcWebSockets は TsgcWSAPIClient_MCP と TsgcWSAPIServer_MCP を登録しています。/n software は MCP を別製品の MCP SDK 2026 Delphi Edition で、標準入出力または HTTP 上でカバーしています
|
||
| LLM チャットクライアント sgcWebSockets は OpenAI、Anthropic、Gemini、DeepSeek、Grok、Mistral、Ollama 向けの専用クライアントを、それぞれ 1 ユニットずつ提供します。/n software の製品カタログに LLM チャットクライアントは登場せず、その AI Integration カテゴリーに含まれるのは MCP SDK です | — | |
WebRTC、STUN、TURN、ICE
sgcWebSockets は TsgcSTUNClient、TsgcSTUNServer、TsgcTURNClient、TsgcTURNServer、TsgcICEClient、TsgcRTCPeerConnection を登録しています。これらはいずれも IPWorks 2024 のコンポーネントリファレンスには登場しません
|
— |
| 項目 | sgcWebSockets 2026.9.0 | IPWorks 2024 Delphi Edition |
|---|---|---|
| Delphi のバージョン ベンダーの記載内容 | Delphi 7 ~ Delphi 13 | Delphi 6 ~ RAD Studio 13 |
| C++ Builder sgcWebSockets は C2007 から C13 までの C++ Builder パッケージを同梱しています。/n software はネイティブの VCL を備えた IPWorks の C++ Builder Edition を別途販売しています | ||
Lazarus と Free Pascal
sgcWebSockets は sgcWebSocketsLazarus.lpk と、sgcVer.inc の FPC 用の分岐を備えています。/n software は Delphi のプラットフォームページで「Lazarus IDE と Free Pascal に対応」と述べています
|
||
| デスクトップとサーバーのターゲット IPWorks Delphi Edition は Windows 32 ビット、Windows 64 ビット、Linux 64 ビット、macOS 64 ビット、macOS ARM 64 ビットを記載しています | ||
Delphi からの iOS と Android
sgcWebSockets は sgcVer.inc 全体に IOS と ANDROID の分岐を備え、Android 向けの JNI TLS ハンドラーと Apple 向けの Network.framework ハンドラーも含みます。IPWorks Delphi Edition のプラットフォーム一覧は Windows、Linux、macOS までです。/n software はモバイルを別の Java、macOS、Android、iOS の各エディションで扱っています
|
— | |
配布が必要なランタイムファイル
/n software は、Windows では「配布時に追加のファイルは不要(.dll への依存なし)」と述べ、Linux では libipworks.so.24.0、macOS では libipworks.24.0.dylib を実行ファイルの隣に配布する必要があるとしています。sgcWebSockets はどのターゲットでも Pascal のソースから実行ファイルにコンパイルされるため、独自に併せて配布するものはありません
|
~ | |
| 他の言語での同一 API IPWorks のダウンロードページには 10 のエディションが挙げられています。.NET、Java、C++、macOS、JavaScript、Delphi、C++ Builder、PHP、Python、ActiveX/ASP/COM です。/n software のプラットフォームメニューにはさらに Node.js、Go、Rust、Android、iOS、Swift、BizTalk が挙げられています。sgcWebSockets は Delphi と C++ Builder 向けに公開されており、別途 C# への移植版があります | ~ |
上のマトリクスで両方の列がチェックになっていないすべての行を、その裏付けとともに改めて示します。製品別ではなくトピック別にまとめています。多くのプロジェクトが気にするのはこのうち 2 つか 3 つで、ほかは関係しないからです。
IPWorks IoT は MQTTBroker を提供しており、/n software はこれを「バージョン 3.1.1 に対応した軽量かつ全機能を備えた MQTT ブローカーの実装」と記載し、平文 TCP、TLS、WebSocket、セキュア WebSocket で待ち受け、セッション要求、購読、パブリッシュのイベントを備えるとしています。同じツールキットは MQTTSN と CoAP も提供します。sgcWebSockets にはこの 3 つのいずれもありません。MQTT ブローカーのコンポーネントはなく、ソースツリーのどこにも MQTT-SN や CoAP のユニットはありません。その MQTT 対応は、MQTT 3.1.1 または 5.0 を話すクライアントの TsgcWSPClient_MQTT です。
IPWorks MQ は AzureRelaySender、AzureRelayReceiver、AzureRelayProxy と、AmazonSQS および AmazonSNS の両方を記載しています。XMPP は IPWorks、IPWorks MQ、IPWorks IoT のいずれのコンポーネントリファレンスにも登場します。sgcWebSockets は Amazon SQS 用に TsgcHTTPAWS_SQS_Client を登録していますが、Azure Relay、Amazon SNS、XMPP のコンポーネントはありません。
sgcWebSockets は WAMP 用に TsgcWSPClient_WAMP、TsgcWSPClient_WAMP2、TsgcWSPServer_WAMP を、Kafka 用に TsgcWSPClient_Kafka を、そして AWS IoT Core と Azure IoT Hub 向けにあらかじめ設定された TsgcIoTAmazon_MQTT_Client と TsgcIoTAzure_MQTT_Client を登録しています。WAMP も Kafka も、IPWorks MQ と IPWorks IoT のコンポーネントリファレンスには登場しません。どちらの製品も、汎用の MQTT コンポーネントを通じてマネージドクラウドブローカーに到達することもできます。
IPWorks 2024 は 1 つのツールキットに 46 個のコンポーネントを記載しており、WebSocket の 2 つとあわせて FTP、SMTP、IMAP、POP、LDAP、DNS、SOAP、OData、WebDAV、CalDAV、SMPP、Telnet、TFTP、SysLog を含みます。より広い /n software のカタログには、SSH と SFTP、SNMP、AS2Sender と AS2Receiver を含む EDI、S/MIME、OpenPGP、VoIP、Bluetooth LE、NFC の各ツールキットが加わります。sgcWebSockets はその領域をまったくカバーしていません。WebSocket の外では、HTTP、HTTP/2、gRPC、メッセージングの各プロトコル、クラウドと取引所の API クライアント、そして P2P スタックが対象範囲です。
sgcWebSockets は TsgcWebSocketHTTPServer を提供します。これは同じバインディングで HTTP と WebSocket を終端し、DocumentRoot を配信し、セッションを保持し、HTTP 圧縮を行い、ルート用に OnCommandGet を公開し、HTTP2Options ブロックを備えます。その周囲には、ファイアウォール、レートリミッター、サーキットブレーカー、API キーマネージャー、プロキシ、ロードバランサーが、それぞれ独立したコンポーネントとして登録されています。/n software は WSServer を「WebSocket サーバーを作成するために使う」コンポーネントとして記載しており、IPWorks 2024 のコンポーネントリファレンスには HTTP サーバーコンポーネントの記載がないため、HTTP はスタックの別の場所から配信されることになります。
sgcWebSockets はクライアントに WatchDog を公開し、Enabled、Interval、Attempts、wdbFixed または wdbExponential の Backoff、BackoffMultiplier、MaxInterval、Jitter を備えます。IPWorks の WSClient について公開されているプロパティ、メソッド、イベント、設定の一覧には再接続の仕組みが含まれないため、再接続のループはアプリケーション側のコードになります。どちらのコンポーネントも、その起点となる切断イベントは発生させます。
IPWorks のダウンロードページには、同じツールキットの 10 のエディションが挙げられています。.NET、Java、C++、macOS、JavaScript、Delphi、C++ Builder、PHP、Python、ActiveX/ASP/COM です。さらに /n software のプラットフォームメニューには Node.js、Go、Rust、Android、iOS、Swift、BizTalk が挙げられています。/n software はその結果を「プラットフォームと技術をまたぐ共通のコンポーネントインターフェース」と表現しています。sgcWebSockets は Delphi と C++ Builder 向けに公開されており、同じ Tsgc というクラス名を写し取った C# への移植版が別途あります。
/n software は「Delphi 6 から RAD Studio 13 までのすべての Delphi バージョン」への対応、「Windows、Linux、macOS」への対応、「Lazarus IDE と Free Pascal」への対応を述べています。その Delphi Edition のドキュメントは 5 つのターゲット、すなわち Windows 32 ビット、Windows 64 ビット、Linux 64 ビット、macOS 64 ビット、macOS ARM 64 ビットを挙げ、Linux と macOS では libipworks.so.24.0 または libipworks.24.0.dylib を実行ファイルの隣に配布し、Windows では DLL への依存はないとしています。sgcWebSockets は Delphi 7 から Delphi 13 までのランタイムパッケージ、C2007 から C13 までの C++ Builder パッケージ、Lazarus 用パッケージを提供し、sgcVer.inc を通じて IOS と ANDROID の分岐を備え、Android では JNI ベースの TLS ハンドラー、Apple プラットフォームでは Network.framework ハンドラーも含みます。どのターゲットでも Pascal のソースから実行ファイルにコンパイルされます。
どちらにも Delphi の HTTP/2 クライアントがあります。IPWorks は HTTPVersion の「2.0」と HTTP/1.1 への自動フォールバックによって、sgcWebSockets は TsgcHTTP2Client によってです。そこから上では分かれます。sgcWebSockets の HTTP サーバーは HTTP2Options ブロックを公開し、sgcQUIC パックが TsgcQUICClient、TsgcQUICServer、TsgcHTTP3Client、TsgcHTTP3Server を加えます。/n software は HTTPVersion の「3.0」を記載しつつ「HTTP/3 は .NET と Java でのみサポートされる」と述べているため、Delphi Edition はこれを備えていません。
どちらも Model Context Protocol をカバーしています。sgcWebSockets は TsgcWSAPIClient_MCP と TsgcWSAPIServer_MCP によって、/n software は別製品の MCP SDK 2026 Delphi Edition によって、標準入出力または HTTP 上でカバーします。MCP の先では、sgcWebSockets が OpenAI、Anthropic、Gemini、DeepSeek、Grok、Mistral、Ollama 向けのチャットクライアントと、TsgcSTUNClient、TsgcSTUNServer、TsgcTURNClient、TsgcTURNServer、TsgcICEClient、TsgcRTCPeerConnection からなる WebRTC スタックを提供します。公開されている /n software のカタログには、LLM チャットクライアントも WebRTC のコンポーネントも挙げられていません。
sgcWebSockets のソースコード版には Delphi と C++ Builder の完全なソースが含まれ、プロジェクトがコンパイルするのはそのソースです。Basic エディションは代わりにコンパイル済みの DCU ファイルを提供します。IPWorks Delphi Edition について公開されている /n software の購入オプションには、ソースの選択肢がない単一のライセンス行が挙げられています。またそのエンドユーザーライセンス契約は、「本ソフトウェアのソースコードを改変、翻訳、リバースエンジニアリング、逆コンパイル、またはその他の方法で導出しない」ことに同意すると述べています。なお /n software の Premium Support には、同社が「コンポーネントに関連する限定的なソースコード解析」と呼ぶものが含まれます。
セキュアな WebSocket エンドポイントに接続し、圧縮を要求し、届いたものを出力します。sgcWebSockets の例は、製品ソースツリーから読み取ったクラス、プロパティ、イベントを使っています。IPWorks の例は、IPWorks 2024 Delphi Edition のリファレンスに記載された名前とシグネチャだけを使い、/n software のサンプルから写したものではなく、ここで書き起こしたものです。
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;
// 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;
採点するのではなく明記しておく価値のある違いが 2 つあります。IPWorks はすべてのメッセージを EOM フラグ付きの 1 つの DataIn イベントで渡すため、BufferMessage を設定しない限り部分的なメッセージが見えます。一方 sgcWebSockets はテキストに OnMessage、バイナリに OnBinary、部分メッセージに OnFragmented を発生させます。また /n software は、サーバーコンポーネントがサーバー開始後にループ内で DoEvents を呼ぶことを前提としていると述べており、これはコンソールやサービスのホストの書き方に影響します。
価格は変動します。以下は 2026 年 9 月 6 日時点で公開されていた数値で、どちらのベンダーも公開しているため、予算を立てる前に確認してください。
| sgcWebSockets | IPWorks 2024 Delphi Edition | |
|---|---|---|
| ライセンスの単位 | 開発者単位で、Single、2 名の Team、Site の各オプションがあり、Standard、Professional、Enterprise の各エディションで提供されます。 | 開発者単位です。Delphi Edition は「Single Developer Subscription, Royalty-Free Distribution, Free Upgrades for One Year, License is Perpetual」として $999 で掲載されています。 |
| マルチプラットフォームのバンドル | Delphi 版と .NET 版は別々にライセンスされます。 | Red Carpet Subscription は開発者 1 名につきすべてのエディションとプラットフォームを対象とし、$1,999、プレミアムサポート付きで $2,499 です。開発者 4 名のチームライセンスは $5,999、プレミアムサポート付きで $7,999 です。サイトライセンスとエンタープライズライセンスは見積もりによります。期間は 12 か月です。 |
| 必要なものだけを買えるか | エディションは段階制で、いくつかの機能は独立したアドオンパックとして提供されます。 | /n software は「当社の製品はツールキットの一部として提供され、個別販売はしていません」と述べています。したがって WebSocket、MQTT、CoAP は 3 つの異なるツールキットに分かれています。 |
| ソースコード | ソースコード版には Delphi と C++ Builder の完全なソースが含まれ、プロジェクトがコンパイルするのはそのソースです。Basic エディションはコンパイル済みの DCU ファイルを提供します。 | 公開されている Delphi Edition の購入オプションには、ソースの選択肢がない単一のライセンス行が挙げられています。エンドユーザーライセンス契約は、「本ソフトウェアのソースコードを改変、翻訳、リバースエンジニアリング、逆コンパイル、またはその他の方法で導出しない」ことに同意すると述べています。 |
| 再配布 | 有償ライセンスにはロイヤリティフリーのバイナリ再配布が含まれます。 | 注文書にその旨がある場合はロイヤリティフリーです。アプリケーションは、改変を含まず、コンパイル済みの実行形式であり、本ソフトウェアと実質的に同じ機能を提供しないことを条件に、「追加料金を負担することなく」配布できます。 |
| サポート | ライセンスにメールサポートが付き、エディションに応じて平日 4 時間、3 時間、2 時間の応答目標を掲げる任意のサポートプランがあります。 | 「無償のメールサポートはすべてのユーザーが利用できます。質問には先着順で回答します。」Premium Support は Red Carpet Subscription の契約者向けの有償アドオンで、「1 営業日以内」の応答を保証し、未公開のサンプルと「コンポーネントに関連する限定的なソースコード解析」が含まれます。 |
| 体験版 | 注文なしでダウンロードできる Free Trial エディションがあります。 | 完全に機能する体験版があり、初回使用から 30 日間ライセンスされます。 |
マーケティング用の表ではなく、実際にコンパイルされる sgcVer.inc のコンパイラ定義から採っています。
| エディション | 有効になる機能定義 | ここでの意味 |
|---|---|---|
| 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 |
上で比較したメッセージングプロトコルをすべて含む、クライアント側のすべてです。IPWorks と IPWorks MQ を組み合わせたプロジェクトのクライアント側に相当します。 |
| Professional | SGC_WEBSOCKET_SERVER、SGC_REST_SERVER、SGC_FIREWALL、SGC_RATELIMITER、SGC_CIRCUITBREAKER、SGC_APIKEYMANAGER、SGC_SCHANNEL |
WebSocket と HTTP のサーバー、およびエッジのコンポーネントです。SGC_WEBSOCKET_SERVER は SGC_EDT_PRO ブロックの中にあるため、サーバー側の比較はここから始まります。 |
| 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、http.sys と IOCP または epoll の高性能サーバー、LLM と MCP のコンポーネント、そして WebRTC スタックです。 |
| sgcQUIC パック | SGC_QUIC、SGC_HTTP3、SGC_WEBTRANSPORT |
QUIC、HTTP/3、WebTransport は、上記 3 つのエディションではなく SGC_PACK_QUIC ブロックを通じて提供されます。 |
短い回答で、それぞれ下に挙げた出典までたどれます。
WSClient と WSServer は中核の IPWorks ツールキットに含まれます。MQTT、AMQP、STOMP は IPWorks MQ に含まれます。CoAP、MQTT-SN、MQTT ブローカーは IPWorks IoT に含まれます。MCP は MCP SDK に含まれます。また /n software は、自社製品はツールキットとして販売しており個別のコンポーネントとしては販売していないと述べているため、WebSocket と MQTT と CoAP が必要なプロジェクトには 3 つのツールキットが必要になります。Red Carpet Subscription は開発者 1 名向けにカタログ全体をまとめて提供します。
WSServer を「WebSocket サーバーを作成するために使う」コンポーネントとして記載しており、WebSocket のオープン要求イベント、接続ごとの識別子、TLS を備えています。IPWorks 2024 のコンポーネントリファレンスには HTTP サーバーコンポーネントの記載がないため、ページ、静的ファイル、REST のルートはスタックの別のところから提供することになります。sgcWebSockets は TsgcWebSocketHTTPServer を提供し、DocumentRoot、セッション、HTTP 圧縮、HTTP2Options ブロックとともに、両方を 1 つのポートで扱います。
WSServer インスタンスは既定で最大 1,000 の同時接続を扱い、MaxConnections 設定でそれを最大 100,000 まで引き上げられます。sgcWebSockets はこれに相当する上限を公開していません。MaxConnections プロパティ、スレッドプール、そして Enterprise では IOCP、epoll、http.sys のトランスポートを公開しており、到達できる数はどれを選ぶかとホスト次第です。どちらの数値も鵜呑みにせず、ベンチマークしてください。
WatchDog プロパティを通じて行い、Enabled、Interval、Attempts、wdbFixed または wdbExponential の Backoff、BackoffMultiplier、MaxInterval、Jitter を公開しています。IPWorks の WSClient について公開されているプロパティ、メソッド、イベント、設定の一覧には再接続の仕組みが含まれないため、そのロジックは自分で書くことになります。どちらのコンポーネントも、その起点にできる Disconnected または OnDisconnect イベントは公開しています。
CompressionMethod を公開し、既定は cmtdNone です。サーバー設定の EnablePermessageDeflate は既定で True で、クライアントの要求に従います。sgcWebSockets は Extensions.PerMessage_Deflate に Enabled、ClientMaxWindowBits、ServerMaxWindowBits、ClientNoContextTakeOver、ServerNoContextTakeOver、MemLevel を公開しているため、ネゴシエーションのパラメーターを自分で設定できます。
HTTP コンポーネントは HTTPVersion に「3.0」を受け付けますが、同じページに「HTTP/3 は .NET と Java でのみサポートされる」と記載されているため、Delphi Edition は備えていません。sgcWebSockets は TsgcHTTP3Client、TsgcHTTP3Server、TsgcQUICClient、TsgcQUICServer を提供しますが、主要な 3 つのエディションには含まれません。これらは sgcVer.inc の SGC_PACK_QUIC ブロックを通じて sgcQUIC パックで提供されます。HTTP/2 は事情が異なり、どちらの製品にも Delphi の HTTP/2 クライアントがあります。
ipw、sgcWebSockets は sgc なので、構造上、名前が衝突することはありません。SFTP や EDI のためにすでに IPWorks を保有しているチームが、リアルタイム層のために sgcWebSockets のサーバーを使うのは通常の構成であり、どちらのベンダーも排他利用を求めていません。
/n software のページはすべて 2026 年 9 月 6 日に閲覧しました。このページが /n software を引用している箇所で、かぎ括弧内の文言は同社のものです。sgcWebSockets に関する記述は製品版 2026.9.0 のソースツリーに基づいており、ライセンス保有者がご自身で確認できるよう、該当行にユニット名または定義名を記しています。
IPWorks、IPWorks MQ、IPWorks IoT、MCP SDK、Red Carpet Subscription、/n software は /n software inc. の商標であり、同社はこのページに関与していません。このページを書いているのは eSeGeCe であり、eSeGeCe は比較対象となる 2 つの製品のうち一方を販売しています。だからこそ、上記のすべての記述にリンクを付けています。判断に関わるものは、実際に確認してください。
ほかの比較。同じ形式の比較として、TMS Software と Chilkat があります。また、Indy、ICS、mORMot 2 を含むより広い調査として Delphi と C++ Builder の WebSocket ライブラリがあります。ライブラリ選びが済んでコードを見たい場合は、Delphi ユースケースが 1 ページに 1 つのタスクを取り上げ、空のフォームから動くものまで案内します。