eSeGeCe — 面向 Delphi 和 .NET 的企业级通信组件
精选 · sgcWebSockets

今天下午,用 Delphi 交付生产级 WebSocket 服务器

符合 RFC 6455 的客户端和服务器,10,000+ 并发连接,TLS 1.3,Windows 上的 IOCP 和 Linux 上的 EPOLL。从 Delphi 7 到 RAD Studio 13,从 .NET 2.0 到 .NET 9,所有目标平台共用一套 API。

  • 符合 RFC 6455
  • TLS 1.2 和 1.3
  • IOCP · EPOLL
  • 完整源代码,免版税
EchoServer.pas
// uses sgcWebSocket, sgcWebSocket_Classes; WSServer := TsgcWebSocketServer.Create(Self); WSServer.Port := 5000; WSServer.OnMessage := WSServerMessage; WSServer.Active := True; procedure TForm1.WSServerMessage( Connection: TsgcWSConnection; const Text: string); begin Connection.WriteData('echo: ' + Text); end;

一帧进入,一次广播发送给频道上的每个客户端。

10,000+ 并发连接数 Windows 上的 IOCP 线程池,Linux 上的 EPOLL,单个服务器进程。
< 1 ms 帧延迟 本地主机上的零拷贝帧处理,逐消息 deflate 压缩开箱即用。
761+ 组件 客户端、服务器、协议处理器和 API 封装,全在一套源代码树中。
30+ API 集成 加密货币交易所、云服务、消息平台和 AI 提供商。

sgcWebSockets 精选
WebSocket、HTTP/2、HTTP/3、MQTT、AMQP、STOMP、WAMP、SSE、WebRTC 和 AI,面向 Delphi、C++Builder、Lazarus 和 .NET。

探索组件库 查看价格

连接、订阅、广播

同一个发布/订阅任务,在 Delphi、C++Builder 和 C# 中使用相同的组件名称编写。学习一次 API,即可在您交付的每个目标平台上复用。

uses
  sgcWebSocket, sgcWebSocket_Classes,
  sgcWebSocket_Protocol_sgc_Client;

procedure TForm1.FormCreate(Sender: TObject);
begin
  FClient := TsgcWebSocketClient.Create(Self);
  FClient.Host := 'www.esegece.com';
  FClient.Port := 2053;
  FClient.TLS := True;
  FClient.OnConnect := ClientConnect;

  FProtocol := TsgcWSPClient_sgc.Create(Self);
  FProtocol.Client := FClient;
  FProtocol.OnMessage := ProtocolMessage;

  FClient.Active := True;
end;

procedure TForm1.ClientConnect(Connection: TsgcWSConnection);
begin
  FProtocol.Subscribe('orders');
  FProtocol.Broadcast('{"id":42,"status":"filled"}', 'orders');
end;

procedure TForm1.ProtocolMessage(Connection: TsgcWSConnection;
  const Text: string);
begin
  Memo1.Lines.Add(Text);
end;
// uses: sgcWebSocket, sgcWebSocket_Classes,
//       sgcWebSocket_Protocol_sgc_Client

FClient = new TsgcWebSocketClient(this);
FClient->Host = "www.esegece.com";
FClient->Port = 2053;
FClient->TLS  = true;
FClient->OnConnect = ClientConnect;

FProtocol = new TsgcWSPClient_sgc(this);
FProtocol->Client = FClient;
FProtocol->OnMessage = ProtocolMessage;

FClient->Active = true;

void __fastcall TForm1::ClientConnect(TsgcWSConnection *Connection)
{
  FProtocol->Subscribe("orders");
  FProtocol->Broadcast("{\"id\":42,\"status\":\"filled\"}", "orders");
}

void __fastcall TForm1::ProtocolMessage(TsgcWSConnection *Connection,
    const UnicodeString Text)
{
  Memo1->Lines->Add(Text);
}
using esegece.sgcWebSockets;

var client = new TsgcWebSocketClient();
client.Host = "www.esegece.com";
client.Port = 2053;
client.TLS  = true;

var protocol = new TsgcWSPClient_sgc();
protocol.Client = client;
protocol.OnMessage += (conn, text) => Console.WriteLine(text);

client.OnConnect += (conn) =>
{
    protocol.Subscribe("orders");
    protocol.Broadcast("{\"id\":42,\"status\":\"filled\"}", "orders");
};

client.Active = true;

服务器端是镜像的。TsgcWebSocketServer.Broadcast(Text, 'orders') 会把同一份数据分发给该频道的每一位订阅者。

您的技术栈已经在使用的每一种线级协议

原生的客户端和服务器实现,而不是对浏览器引擎的薄封装。在单个应用程序内混用多种协议,并共享同一个连接池。

WebSocket · RFC 6455 HTTP/2 HTTP/3 · QUIC MQTT 3.1.1 & 5.0 AMQP 0.9.1 & 1.0 STOMP WAMP v2 SSE WebRTC CoAP

可接入的生态系统

为您的基础设施团队已经在运行的代理、中心和服务提供现成的客户端和适配器。

Socket.IO v4 SignalR Core Pusher Channels RabbitMQ HiveMQ Mosquitto EMQX AWS IoT Core Azure IoT Hub ActiveMQ IBM MQ

完整协议参考:sgcWebSockets 协议

为什么它能扛住高负载

长连接、默认加密,在高波动下自我修复。这些正是决定您的服务器能否挺过周一早高峰的关键。

多线程 IOCP 和 EPOLL 服务器

服务器在 Windows 上通过 I/O 完成端口、在 Linux 上通过 epoll 接受连接,并在线程池中分派工作,而不是为每个 socket 分配一个线程。正因如此,单个进程上的 10,000+ 活动连接才不会被上下文切换拖垮。

扩展组件 →

TLS 1.2 和 1.3,OpenSSL 3 或 SChannel

选择适合部署环境的 TLS 后端。OpenSSL 3 在 Windows、Linux、macOS、iOS 和 Android 上提供一致的行为。原生 SChannel 使用 Windows 证书存储,因此无需随应用分发或修补 OpenSSL DLL。

TLS 与证书 →

WatchDog 自动重连与 HeartBeat

HeartBeat 定期发送 ping 帧,因此失效的对端会被检测出来,而不会一直挂着。WatchDog 会按可配置的间隔和重试次数自动重连断开的客户端,网络抖动不会演变成应用重启。

客户端组件 →

逐消息压缩,RFC 7692

启用 permessage-deflate 扩展后,重复性高的 JSON 数据在传输时会被压缩,并在握手期间与任何兼容对端协商。二进制帧、分片和 Unicode 校验全部由帧处理层负责。

功能概览 →

从交易台到 AI 代理

以下每一项都构建在您今天就能安装到 IDE 中的同一套客户端和服务器组件之上。

大规模实时聊天

持久连接、在线状态、命名频道和二进制消息,多线程服务器专为数千名并发用户构建。

实时通信 →

算法交易

面向 14 家加密货币交易所的现成流式客户端,行情数据推送支持 TLS、二进制帧和自动重连。

交易所 API →

IoT 遥测

MQTT 3.1.1 和 5.0,支持 QoS 0/1/2、共享订阅和 CoAP,另有面向 AWS IoT Core 和 Azure IoT Hub 的开箱即用客户端。

IoT 组件 →

WebRTC 视频

点对点媒体和数据通道,内置 STUN、TURN 和 ICE,信令服务器由您自己托管。

WebRTC 与 P2P →

AI 代理(MCP)

通过 Model Context Protocol 向 ChatGPT 和 Claude 暴露您自己的工具、提示词和资源,客户端和服务器均已包含。

MCP 组件 →

HTTP/2 和 HTTP/3 服务

在同一个端口上提供 HTTPS、WebSocket 和 HTTP/2 服务,支持多路复用、头部压缩和服务器推送,以及基于 QUIC 的 HTTP/3。

HTTP 组件 →

六个组件库,一个订阅

sgcWebSockets 是旗舰产品。套件的其余部分覆盖界面、SDK、签名,以及底层的 socket。

sgcWebSockets

WebSocket、HTTP/2、HTTP/3、MQTT、AMQP、WebRTC、AI 及 30+ API 集成,面向 Delphi、C++Builder、Lazarus 和 .NET。

了解更多 →

sgcHTML

在 Delphi 和 .NET 中构建全栈 Web 界面。服务器端 HTML 组件、实时 WebSocket 更新和 htmx 交互。

了解更多 →

sgcOpenAPI

OpenAPI 3.x 解析器、Pascal SDK 生成器和 OpenAPI 服务器,以及面向 AWS、Azure、Google Cloud 和 Microsoft Graph 的 1,195+ 预构建 SDK。

了解更多 →

sgcSign

文档签名(XAdES、PAdES、CAdES、ASiC)和代码签名(Authenticode、ClickOnce、NuGet、VSIX),提供 10 种密钥提供商和 21 个欧盟国家配置文件。

了解更多 →

sgcBiometrics

面向 Delphi 和 C++Builder 的 Windows Hello、指纹传感器和人脸识别,基于 Windows 生物特征框架构建。

了解更多 →

sgcIndy

增强型 Indy TCP/IP 套件,提供现代 TLS、IPv6 和扩展协议支持,适用于 Delphi 7 到 RAD Studio 13。

了解更多 →

开发者怎么说

受到全球各地构建实时应用程序的 Delphi、C++ Builder、Lazarus 和 .NET 开发者的信赖。

sgcWebSockets 非常出色,你们的支持也是最棒的!
Christian Meyer 创始人兼首席技术官
你们的 sgcWebSockets 库非常实用,而且易于设置。请继续保持!
Simone Moretti Delphi 开发者
非常感谢你们的帮助和支持,我很喜欢你们的组件。
Mark Steinfeld 首席技术官

您正在浏览 eSeGeCe 的实时通信视角。

换个角度看看 →
30 天退款保证不满意?可在购买后 30 天内申请全额退款。 查看退款政策

实时能力,今天就装进您的应用

下载免费试用版,几分钟内即可在自己的机器上运行一个 WebSocket 服务器。完整源代码、免版税部署,支持 Delphi 7 到 RAD Studio 13 以及 .NET 2.0 到 .NET 9。