sgcWebSockets 与 IPWorks 对比

两个产品都为 Delphi 开发者提供 WebSocket 客户端和服务器组件,而且都远不止于 WebSocket。在重叠的部分之外,它们覆盖的领域并不相同。本页逐个协议、逐个平台地说明各自都做什么,每一条说法都取自厂商自己公开的材料,并在“来源”部分给出链接。

到底在比较什么

IPWorks 是一组分别授权的工具包,而不是单一产品。把某个工具包的功能算到另一个头上会让本页失去意义,所以这里点名列出纳入对比的产品,并在每一条依赖它们的表格行里再次点名。

IPWorks 2024 Delphi Edition

/n software · 商业授权

核心工具包,构建号 24.0.9716,发布于 2026 年 8 月 7 日。它公开的组件参考文档记录了 46 个组件,其中包括用于 WebSocket 的 WSClientWSServer,以及 HTTPRESTGRPCOAuthJSONXMLSOAPFTPSMTPIMAPPOPLDAPDNSXMPPWebDAVCalDAV 等等。2026 版本已作为 beta 发布。

官方页面

IPWorks MQ 2024 Delphi Edition

/n software · 商业授权,单独销售

消息工具包。它公开的组件参考文档记录了 AMQPAMQPClassicAmazonSNSAmazonSQSAzureRelayProxyAzureRelayReceiverAzureRelaySenderCertMgrJSONMQTTSTOMPXMPP。本页凡是比较 MQTT、AMQP 或 STOMP 的地方,指的都是这个工具包。

官方页面

IPWorks IoT 2024 Delphi Edition

/n software · 商业授权,单独销售

IoT 工具包。它公开的组件参考文档记录了 AMQPAMQPClassicCertMgrCoAPJSONMQTTMQTTBrokerMQTTSNSTOMPXMPP。内嵌的 MQTT broker 和 CoAP 组件就在这个工具包里。

官方页面

MCP SDK 2026 Delphi Edition

/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 以及企业适配器。本页没有用它们中的任何一个来支撑说法。如果某项能力位于这些工具包而不是上面四个之中,矩阵会在对应行里注明。

完整产品目录

本页所有关于 /n software 的事实,都是在 2026 年 9 月 6 日从 nsoftware.com 和 cdn.nsoftware.com 读到的,对应 IPWorks 2024 Delphi Edition,构建号 24.0.9716。所有关于 sgcWebSockets 的事实都在同一天读自 2026.9.0 源码树。两个产品都发布频繁。如果你是在几个月之后读到这里,请点开链接自行核实。

逐行并列对比

对勾()表示厂商自己的组件参考文档记录了这一点。短横线()表示它没有出现在上面“对比范围”一节所点名产品的公开组件参考文档中,这与说它做不到并不是一回事。波浪线(~)表示有文档记录但存在明示的限制,具体限制见该行的说明文字。

WebSocket,RFC 6455

9 行
功能 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、会话和 OnCommandGetTsgcWebSocketHTTPServer。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 按 MaxFrameSize 分片,默认 131072 字节,并用 DataInEOM 参数标记消息是否完整。sgcWebSockets 通过 WriteDataaStreaming 参数进行流式发送,并触发 OnFragmented
客户端自动重连 sgcWebSockets 提供一个 WatchDog,带有 IntervalAttempts、固定或指数式的 BackoffMaxIntervalJitter。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

消息与 IoT

11 行
功能 sgcWebSockets 2026.9.0 IPWorks MQ / IPWorks IoT 2024
MQTT 3.1.1 与 5.0 客户端 sgcWebSockets:TsgcWSPClient_MQTTMQTTVersionmqtt311mqtt5。/n software 声明 IPWorks MQ“完全符合 MQTT 3.1.1 和 5.0 版本”
内嵌 MQTT broker IPWorks IoT 提供 MQTTBroker,文档称其为“轻量、功能完备、支持 3.1.1 版本的 MQTT broker 实现”,可在明文 TCP、TLS、WebSocket 和安全 WebSocket 上监听。sgcWebSockets 没有 MQTT broker 组件,它的 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”,并提供 AMQPAMQPClassic
STOMP 客户端 sgcWebSockets 提供 TsgcWSPClient_STOMP 以及 RabbitMQ 和 ActiveMQ 变体。/n software 声明 IPWorks MQ 支持 STOMP 1.1 和 1.2 版本
WAMP 客户端与服务器 sgcWebSockets 提供 TsgcWSPClient_WAMPTsgcWSPClient_WAMP2TsgcWSPServer_WAMP。WAMP 没有出现在 IPWorks MQ 或 IPWorks IoT 的组件参考文档中
Kafka 客户端 sgcWebSockets 提供 TsgcWSPClient_Kafka。Kafka 没有出现在 IPWorks MQ 或 IPWorks IoT 的组件参考文档中
Azure Relay IPWorks MQ 记录了 AzureRelaySenderAzureRelayReceiverAzureRelayProxy。sgcWebSockets 没有 Azure Relay 组件
Amazon SQS 与 SNS IPWorks MQ 同时记录了 AmazonSQSAmazonSNS。sgcWebSockets 为 SQS 注册了 TsgcHTTPAWS_SQS_Client,没有 SNS 组件 ~
托管云 IoT broker sgcWebSockets 注册了 TsgcIoTAmazon_MQTT_ClientTsgcIoTAzure_MQTT_Client,已针对 AWS IoT Core 和 Azure IoT Hub 预先配置。IPWorks IoT 通过通用的 MQTT 组件连接同样的 broker ~

HTTP、Web 与 AI

9 行
功能 sgcWebSockets 2026.9.0 IPWorks 2024 Delphi Edition
HTTP/1.1 客户端 两者都有。IPWorks 记录了 HTTP 组件,支持 cookie、重定向、代理、范围请求和流
HTTP/2 客户端 IPWorks 接受取值为“2.0”的 HTTPVersion,当服务器不提供时回落到 HTTP/1.1。sgcWebSockets 提供 TsgcHTTP2Client,由 SGC_HTTP2 定义控制
HTTP/2 服务器 sgcWebSockets 的 HTTP 服务器提供 HTTP2Options,包含各项设置、替代服务通告和线程池。IPWorks 2024 组件参考文档中没有出现 HTTP 服务器组件
HTTP/3 与 QUIC /n software 记录了取值为“3.0”的 HTTPVersion,并明确说明“HTTP/3 仅在 .NET 和 Java 中受支持”,因此 Delphi 版本用不上。sgcWebSockets 在 sgcQUIC 附加包中提供 TsgcHTTP3ClientTsgcHTTP3ServerTsgcQUICClientTsgcQUICServer
gRPC 客户端 IPWorks 2024 记录了一个 GRPC 组件。sgcWebSockets 注册了 TsgcGRPCClient,由 SGC_GRPC 定义控制
Server-Sent Events sgcWebSockets 服务器带有一个 SSE 回退方案 FallBack.ServerSentEvents,供无法完成协议升级的客户端使用。SSE 没有出现在 IPWorks 2024 组件参考文档中
Model Context Protocol sgcWebSockets 注册了 TsgcWSAPIClient_MCPTsgcWSAPIServer_MCP。/n software 把 MCP 放在一个单独的产品 MCP SDK 2026 Delphi Edition 中,通过标准输入输出或 HTTP 通信
LLM 聊天客户端 sgcWebSockets 为 OpenAI、Anthropic、Gemini、DeepSeek、Grok、Mistral 和 Ollama 各提供一个专用客户端,各占一个单元。/n software 的产品目录中没有出现 LLM 聊天客户端,其 AI Integration 分类中是 MCP SDK
WebRTC、STUN、TURN 与 ICE sgcWebSockets 注册了 TsgcSTUNClientTsgcSTUNServerTsgcTURNClientTsgcTURNServerTsgcICEClientTsgcRTCPeerConnection。这些都没有出现在 IPWorks 2024 组件参考文档中

编译器、平台与部署

7 行
项目 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 版本
Lazarus 与 Free Pascal sgcWebSockets 提供 sgcWebSocketsLazarus.lpk,并在 sgcVer.inc 中带有 FPC 分支。/n software 在其 Delphi 平台页面上声明“支持 Lazarus IDE 和 Free Pascal”
桌面与服务器目标平台 IPWorks Delphi 版本记录了 Windows 32 位、Windows 64 位、Linux 64 位、macOS 64 位和 macOS ARM 64 位
从 Delphi 构建 iOS 与 Android sgcWebSockets 在 sgcVer.inc 中通篇带有 IOSANDROID 分支,包括面向 Android 的 JNI TLS 处理器和面向 Apple 的 Network.framework 处理器。IPWorks Delphi 版本的平台清单止步于 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 的下载页面列出了十个版本:.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# 移植版 ~
厂商文档已记录 未出现在公开的组件参考文档中 ~ 有文档记录,但存在明示的限制

两列出现分歧的那些行

上面矩阵中并非两列都打勾的每一行,都在这里连同背后的依据重新讲一遍。按主题而不是按产品分组,因为大多数项目只关心其中两三点,其余并不在意。

MQTT broker、MQTT-SN 与 CoAP

IPWorks IoT 提供 MQTTBroker,/n software 的文档称其为“轻量、功能完备、支持 3.1.1 版本的 MQTT broker 实现”,可在明文 TCP、TLS、WebSocket 和安全 WebSocket 上监听,并带有会话请求、订阅和发布相关的事件。同一个工具包还提供 MQTTSNCoAP。这三样 sgcWebSockets 一个都没有:既没有 MQTT broker 组件,源码树中也找不到 MQTT-SN 或 CoAP 单元。它的 MQTT 支持是一个客户端 TsgcWSPClient_MQTT,可以说 MQTT 3.1.1 或 5.0。

Azure Relay、Amazon SNS 与 XMPP

IPWorks MQ 记录了 AzureRelaySenderAzureRelayReceiverAzureRelayProxy,以及 AmazonSQSAmazonSNS 两者。XMPP 同时出现在 IPWorks、IPWorks MQ 和 IPWorks IoT 的组件参考文档中。sgcWebSockets 为 Amazon SQS 注册了 TsgcHTTPAWS_SQS_Client,没有面向 Azure Relay、Amazon SNS 或 XMPP 的组件。

WAMP、Kafka 与托管 IoT broker

sgcWebSockets 为 WAMP 注册了 TsgcWSPClient_WAMPTsgcWSPClient_WAMP2TsgcWSPServer_WAMP,为 Kafka 注册了 TsgcWSPClient_Kafka,并提供针对 AWS IoT Core 和 Azure IoT Hub 预配置的 TsgcIoTAmazon_MQTT_ClientTsgcIoTAzure_MQTT_Client。WAMP 和 Kafka 都没有出现在 IPWorks MQ 或 IPWorks IoT 的组件参考文档中。两个产品同样都可以通过通用的 MQTT 组件连接托管云 broker。

实时消息之外的协议覆盖

IPWorks 2024 在一个工具包中记录了 46 个组件,除了那对 WebSocket 组件之外,还纳入了 FTP、SMTP、IMAP、POP、LDAP、DNS、SOAP、OData、WebDAV、CalDAV、SMPP、Telnet、TFTP 和 SysLog。更广的 /n software 产品目录还另有面向 SSH 与 SFTP、SNMP、包含 AS2SenderAS2Receiver 的 EDI、S/MIME、OpenPGP、VoIP、Bluetooth LE 和 NFC 的独立工具包。这些领域 sgcWebSockets 一个都不覆盖。在 WebSocket 之外,它的范围是 HTTP、HTTP/2、gRPC、各种消息协议、云与交易所 API 客户端,以及 P2P 技术栈。

HTTP 与 WebSocket 共用一个端口

sgcWebSockets 提供 TsgcWebSocketHTTPServer,它在同一个绑定上终结 HTTP 和 WebSocket,提供 DocumentRoot 服务,维护会话,执行 HTTP 压缩,通过 OnCommandGet 暴露路由,并带有一个 HTTP2Options 配置块。围绕它还有防火墙、速率限制器、断路器、API 密钥管理器、代理和负载均衡器,各自都注册为独立的组件。/n software 把 WSServer 记录为一个“用于创建 WebSocket 服务器”的组件,而 IPWorks 2024 组件参考文档中没有列出 HTTP 服务器组件,所以 HTTP 要由技术栈中的其他部分来提供。

客户端重连

sgcWebSockets 在客户端提供一个 WatchDog,带有 EnabledIntervalAttempts、取 wdbFixedwdbExponentialBackoffBackoffMultiplierMaxIntervalJitter。IPWorks WSClient 公开的属性、方法、事件和配置清单中没有任何重连设施,因此重连循环要写在应用代码里。两个组件都会触发断开事件,可以据此驱动重连。

其他编程语言的版本

IPWorks 的下载页面列出了同一工具包的十个版本:.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 发布,另有一个独立的 C# 移植版,沿用同样的 Tsgc 类名。

编译器、目标平台,以及随可执行文件一起分发的东西

/n software 声明支持“Delphi 6 到 RAD Studio 13 之间的所有 Delphi 版本”、“Windows、Linux 和 macOS”,以及“Lazarus IDE 和 Free Pascal”。其 Delphi 版本的文档点名了五个目标平台:Windows 32 位、Windows 64 位、Linux 64 位、macOS 64 位和 macOS ARM 64 位,在 Linux 和 macOS 上需要把 libipworks.so.24.0libipworks.24.0.dylib 部署在可执行文件旁边,在 Windows 上则没有 DLL 依赖。sgcWebSockets 提供从 Delphi 7 到 Delphi 13 的运行时包、从 C2007 到 C13 的 C++ Builder 包,以及一个 Lazarus 包,并在 sgcVer.inc 中贯穿 IOSANDROID 分支,其中包括 Android 上基于 JNI 的 TLS 处理器和 Apple 平台上的 Network.framework 处理器。它在每个目标平台上都从 Pascal 源码编译进可执行文件。

HTTP/2、HTTP/3 与 QUIC

两者都有 Delphi 的 HTTP/2 客户端:IPWorks 通过取值为“2.0”的 HTTPVersion 实现,并可自动回落到 HTTP/1.1,sgcWebSockets 则通过 TsgcHTTP2Client 实现。再往上两者就分道扬镳了。sgcWebSockets 的 HTTP 服务器提供一个 HTTP2Options 配置块,sgcQUIC 扩展包则加入了 TsgcQUICClientTsgcQUICServerTsgcHTTP3ClientTsgcHTTP3Server。/n software 记录了取值为“3.0”的 HTTPVersion,并说明“HTTP/3 仅在 .NET 和 Java 中受支持”,因此 Delphi 版本并不具备它。

LLM 客户端、MCP 与 WebRTC

两者都覆盖 Model Context Protocol:sgcWebSockets 通过 TsgcWSAPIClient_MCPTsgcWSAPIServer_MCP,/n software 则通过独立的 MCP SDK 2026 Delphi Edition,走标准输入输出或 HTTP。在 MCP 之外,sgcWebSockets 还提供面向 OpenAI、Anthropic、Gemini、DeepSeek、Grok、Mistral 和 Ollama 的聊天客户端,以及由 TsgcSTUNClientTsgcSTUNServerTsgcTURNClientTsgcTURNServerTsgcICEClientTsgcRTCPeerConnection 组成的 WebRTC 技术栈。/n software 公开的产品目录中没有列出 LLM 聊天客户端,也没有 WebRTC 组件。

源代码,以及授权允许什么

sgcWebSockets 的源码版本包含完整的 Delphi 和 C++ Builder 源代码,而且工程编译的就是这份源码;Basic 版本则改为提供预编译的 DCU 文件。/n software 为 IPWorks Delphi 版本公开的购买选项只列出一条许可,没有源码选项,其最终用户许可协议声明你同意“不对本软件进行改编、翻译、反向工程、反编译,或以其他方式推导其源代码”。/n software 的 Premium Support 确实包含其所称的“与组件相关的有限源代码分析”。

同一个任务,用两套 API 实现

连接到一个安全的 WebSocket 端点,请求启用压缩,并打印收到的内容。sgcWebSockets 那段代码用的是从正式发行源码树中读到的类、属性和事件。IPWorks 那段代码只使用 IPWorks 2024 Delphi 版本参考文档中印出的名称和签名,并且是在这里写成的,而不是从 /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;

有两处差异值得点明,而不是打分。IPWorks 通过一个带 EOM 标志的 DataIn 事件交付每一条消息,因此除非你设置 BufferMessage,否则不完整的消息也会呈现在你面前;sgcWebSockets 则对文本触发 OnMessage,对二进制触发 OnBinary,对分片触发 OnFragmented。另外 /n software 指出,它的服务器组件期望在服务器启动后循环调用 DoEvents,这会影响控制台或服务宿主的写法。

授权、源代码与技术支持

价格会变。以下是 2026 年 9 月 6 日公布的数字,两家厂商都公开标价,所以做预算之前请再核实一次。

 sgcWebSocketsIPWorks 2024 Delphi Edition
授权单位 按开发者计,提供 Single、两人的 Team 和 Site 三种选项,覆盖 Standard、Professional 和 Enterprise 版本。 按开发者计。Delphi 版本标注为“单开发者订阅、免版税分发、一年免费升级、许可永久有效”,售价 999 美元。
多平台套装 Delphi 与 .NET 产品分别授权。 Red Carpet Subscription 为一名开发者覆盖全部版本和平台,售价 1,999 美元,含高级支持则为 2,499 美元。四人团队许可为 5,999 美元,含高级支持为 7,999 美元。Site 与企业授权需询价。期限为十二个月。
只买你需要的部分 版本分层,若干能力以独立附加包的形式提供。 /n software 声明“我们的产品作为工具包的一部分提供,不单独出售”。因此 WebSocket、MQTT 和 CoAP 分处三个不同的工具包。
源代码 源码版本包含完整的 Delphi 和 C++ Builder 源代码,你的工程编译的就是这份源码。Basic 版本提供预编译的 DCU 文件。 公开的 Delphi 版本购买选项只列出一条许可,没有源码选项。最终用户许可协议声明你同意“不对本软件进行改编、翻译、反向工程、反编译,或以其他方式推导其源代码”。
再分发 付费许可包含免版税的二进制再分发。 在订单表明的范围内免版税:应用可以“无需支付额外费用”地分发,前提是不包含任何修改、以编译后的可执行形式提供,并且不提供与本软件实质相同的功能。
技术支持 许可包含邮件支持,另有可选支持计划,按版本不同承诺工作日四小时、三小时或两小时的响应目标。 “所有用户均可获得免费邮件支持。问题按先到先答的顺序处理。”Premium Support 是面向 Red Carpet Subscription 客户的付费附加服务,承诺“在一个工作日内”响应,并包含未公开的示例和“与组件相关的有限源代码分析”。
试用 免费的 Trial 版本,无需下单即可下载。 功能完整的试用版,自首次使用起授权三十天。

每项功能需要哪个 sgcWebSockets 版本

取自 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 通过 SGC_PACK_QUIC 区块提供,而不是通过上面三个版本。

这份对比通常会引出的问题

简短的回答,每一条都可追溯到下面列出的来源。

多个。/n software 公布的是一整套分别授权的工具包目录。WebSocket 组件 WSClientWSServer 在核心的 IPWorks 工具包中。MQTT、AMQP 和 STOMP 在 IPWorks MQ 中。CoAP、MQTT-SN 和 MQTT broker 在 IPWorks IoT 中。MCP 在 MCP SDK 中。/n software 还声明其产品按工具包销售,不单独出售组件,因此一个同时需要 WebSocket、MQTT 和 CoAP 的项目需要三个工具包。Red Carpet Subscription 为一名开发者打包整个目录。
/n software 把 WSServer 记录为一个“用于创建 WebSocket 服务器”的组件,带有 WebSocket 打开请求事件、逐连接标识符和 TLS。IPWorks 2024 组件参考文档中没有列出 HTTP 服务器组件,因此页面、静态文件和 REST 路由要由你技术栈中的其他部分来提供。sgcWebSockets 提供 TsgcWebSocketHTTPServer,在一个端口上同时处理两者,并带有 DocumentRoot、会话、HTTP 压缩和一个 HTTP2Options 配置块。
/n software 公布了一个数字:每个 WSServer 实例默认最多处理 1,000 个并发连接,MaxConnections 设置可将其提高到最多 100,000。sgcWebSockets 没有公布对应的上限。它提供一个 MaxConnections 属性、一个线程池,在 Enterprise 版本上还提供 IOCP、epoll 和 http.sys 三种传输方式,你能达到的数量取决于你选了哪一种以及宿主机的情况。请实际压测,而不要直接相信任何一个数字。
sgcWebSockets 可以,通过客户端上的 WatchDog 属性实现,它公开 EnabledIntervalAttempts、取 wdbFixedwdbExponentialBackoffBackoffMultiplierMaxIntervalJitter。IPWorks WSClient 公开的属性、方法、事件和配置清单中没有任何重连设施,因此这段逻辑要由你自己写。两个组件都确实提供了 DisconnectedOnDisconnect 事件,可以据此挂接重连。
IPWorks 2024 Delphi 版本记录了五个目标平台:Windows 32 位、Windows 64 位、Linux 64 位、macOS 64 位和 macOS ARM 64 位。iOS 和 Android 不在其中,/n software 改为通过其独立的 Java、macOS、Android 和 iOS 版本来覆盖这些平台。sgcWebSockets 用同一份 Delphi 源码即可为 iOS 和 Android 编译,并为两者都提供了平台 TLS 处理器。
都支持,但默认值和可控粒度不同。IPWorks 在客户端提供 CompressionMethod,默认值为 cmtdNone,在服务器端提供 EnablePermessageDeflate 设置,默认为 True,并遵从客户端的请求。sgcWebSockets 提供 Extensions.PerMessage_Deflate,包含 EnabledClientMaxWindowBitsServerMaxWindowBitsClientNoContextTakeOverServerNoContextTakeOverMemLevel,因此协商参数由你自己设定。
IPWorks 的 HTTP 组件接受取值为“3.0”的 HTTPVersion,而同一个页面写明“HTTP/3 仅在 .NET 和 Java 中受支持”,所以 Delphi 版本并不具备它。sgcWebSockets 提供 TsgcHTTP3ClientTsgcHTTP3ServerTsgcQUICClientTsgcQUICServer,不过它们不在三个主要版本里,而是随 sgcQUIC 扩展包提供,通过 sgcVer.inc 中的 SGC_PACK_QUIC 区块启用。HTTP/2 则是另一回事,两个产品都有 Delphi 的 HTTP/2 客户端。
在 sgcWebSockets 这边,源码版本包含完整的 Delphi 和 C++ Builder 源代码,你的工程编译的就是这份源码。Basic 版本则改为提供预编译的 DCU 文件。在 IPWorks 这边,Delphi 版本公开的购买选项只有一条许可,没有源码选项,最终用户许可协议声明你同意“不对本软件进行改编、翻译、反向工程、反编译,或以其他方式推导其源代码”。Premium Support 确实包含 /n software 所称的“与组件相关的有限源代码分析”。如果你有特定需求,请直接询问 /n software,而不要以本页为准。
它们是彼此独立的组件集,单元名和类名前缀也各不相同,IPWorks 用 ipw,sgcWebSockets 用 sgc,因此在结构上就不会有命名冲突。一个团队已经为 SFTP 或 EDI 购买了 IPWorks,又想用 sgcWebSockets 的服务器来做实时层,这是很正常的安排,两家厂商都不要求排他性。

每一条说法都有链接

所有 /n software 的页面都是在 2026 年 9 月 6 日阅读的。本页引用 /n software 之处,引号中的文字都是他们的原话。关于 sgcWebSockets 的说法都以正式发行的 2026.9.0 源码树为依据,并在对应行中写明单元或定义,方便持有许可的用户自行核对。

来源URL
/n software:完整产品目录https://www.nsoftware.com/products
IPWorks:产品概览与组件清单https://www.nsoftware.com/ipworks
IPWorks:下载页面、当前版本与构建号https://www.nsoftware.com/ipworks/download
IPWorks 2024 Delphi 版本参考文档,组件清单https://cdn.nsoftware.com/help/IPJ/dlp/
IPWorks 2024 Delphi 版本:WSClient 组件https://cdn.nsoftware.com/help/IPJ/dlp/WSClient.htm
IPWorks 2024 Delphi 版本:WSServer 组件https://cdn.nsoftware.com/help/IPJ/dlp/WSServer.htm
IPWorks 2024 Delphi 版本:HTTP 组件、HTTPVersion 以及关于 HTTP/3 的说明https://cdn.nsoftware.com/help/IPJ/dlp/HTTP.htm
IPWorks 2024 Delphi 版本:支持的平台与部署文件https://cdn.nsoftware.com/help/IPJ/dlp/platforms.htm
/n software:Delphi 平台页面,关于编译器和操作系统的说明https://www.nsoftware.com/platforms/delphi
IPWorks MQ:支持的协议版本https://www.nsoftware.com/ipworks/mq
IPWorks MQ 2024 Delphi 版本参考文档,组件清单https://cdn.nsoftware.com/help/ITJ/dlp/
IPWorks IoT 2024 Delphi 版本参考文档,组件清单https://cdn.nsoftware.com/help/IOJ/dlp/
IPWorks IoT 2024 Delphi 版本:MQTTBroker 组件https://cdn.nsoftware.com/help/IOJ/dlp/MQTTBroker.htm
IPWorks EDI:协议与组件清单,AS2 相关说法的出处https://www.nsoftware.com/ipworksedi
MCP SDK:产品概览https://www.nsoftware.com/mcpsdk
IPWorks:Delphi 版本的购买选项,货号 IPDJ-Ahttps://www.nsoftware.com/ipworks/order
/n software:Red Carpet Subscriptionhttps://www.nsoftware.com/subscriptions
/n software:销售常见问题,仅按工具包销售的政策与支持条款https://www.nsoftware.com/order/faq
/n software:支持选项,标准与高级https://www.nsoftware.com/support
IPWorks:最终用户许可协议、试用期限、免版税条款、反向工程条款https://www.nsoftware.com/ipworks/license
sgcWebSockets:产品页面https://www.esegece.com/products/websockets/
sgcWebSockets:价格、版本以及各版本包含的内容https://www.esegece.com/products/websockets/pricing/
sgcWebSockets:完整的 Delphi 功能矩阵https://www.esegece.com/products/websockets/features/feature-matrix-delphi/
sgcWebSockets:与 Indy、ICS、TMS FNC 和 mORMot 2 的对比https://www.esegece.com/products/websockets/comparison/
RFC 6455,WebSocket 协议https://datatracker.ietf.org/doc/html/rfc6455
RFC 7692,WebSocket 的压缩扩展https://datatracker.ietf.org/doc/html/rfc7692

IPWorks、IPWorks MQ、IPWorks IoT、MCP SDK、Red Carpet Subscription 和 /n software 是 /n software inc. 的商标,该公司与本页没有任何关系。本页由 eSeGeCe 撰写,而 eSeGeCe 正是所比较的两个产品之一的销售方。这恰恰是上面每一条说法都带链接的原因:对你的决策重要的那几条,请自己去核实。

其他对比。同样方式的对比还有 TMS SoftwareChilkat,以及涵盖 Indy、ICS 和 mORMot 2 的更广泛综述 Delphi 与 C++ Builder WebSocket 库。如果选库的问题已经定了,你更想看代码,那么 Delphi 使用场景会一页一个任务,把你从空白窗体带到能跑起来的程序。

超值之选:All-AccesseSeGeCe 全部产品,含高级支持,每年 €1,059 起。
查看 All-Access 价格

拿你自己的实际负载试一试

Trial 版本就是完整的产品。把它指向你实际需要对接的端点,在做决定之前先看看它的表现。