功能概览

sgcWebSockets 是一个跨平台库,用于实现实时客户端-服务器通信。完全以 Delphi 构建,支持 Windows、Linux、macOS、iOS 和 Android,针对低延迟、高吞吐量应用进行了性能优化。

平台与协议支持

为每个实时应用提供坚实的基础。

跨平台

支持 Windows、Linux 64 位、macOS、iOS 和 Android。单一代码库完整支持 VCL 和 FireMonkey。

多线程服务器

符合 RFC 6455 的 WebSocket 服务器,Windows 上使用 IOCP,Linux 上使用 EPOLL,实现最大并发连接数。

SSL/TLS 1.2 & 1.3

服务器和客户端均支持 OpenSSL 和 SChannel 后端的完整加密。内置证书管理。

二进制与 Unicode

完整支持二进制帧和 Unicode 文本消息。原生传输文件、图片和结构化数据。

消息压缩

PerMessage-Deflate 扩展可将带宽消耗减少高达 80%,支持可配置的压缩级别。

多协议服务器

WebSocket、HTTP/1.1 和 HTTP/2.0 连接共用同一端口,无需单独的服务器。

连接与消息传递

内置机制,保持连接健康并确保消息可靠传递。

心跳检测

以可配置间隔自动 ping/pong。及早检测断开的连接,并通过防火墙保持连接活跃。

看门狗

客户端自动重连,服务器在意外断开后自动重启。零停机时间恢复。

服务质量

三种 QoS 级别:至多一次、至少一次和恰好一次交付,满足各种可靠性需求。

消息队列

持久化消息存储,支持可配置级别。重新连接后重放错过的消息。

事务

StartTransaction、Commit 和 Rollback 方法,用于原子性多步操作。

带宽限速

按连接限制每秒传输比特数。防止带宽滥用,确保公平的资源分配。

身份验证方法

多种策略保护您的 WebSocket 连接安全。

基本身份验证

标准 HTTP 基本身份验证,用于用户名/密码凭据验证。

OAuth2

完整支持客户端和服务器端 OAuth2。与身份提供者集成,实现基于令牌的身份验证。

会话与 URL 身份验证

服务器端会话管理和基于令牌的 URL 参数身份验证,适用于浏览器客户端。

快速入门示例

只需几行 Delphi 代码即可创建 WebSocket 服务器。

uses
  sgcWebSocket_Server, sgcWebSocket_Types;

var
  WSServer: TsgcWebSocketHTTPServer;

procedure TForm1.FormCreate(Sender: TObject);
begin
  WSServer := TsgcWebSocketHTTPServer.Create(nil);
  WSServer.Port := 8080;
  WSServer.SSL := True;
  WSServer.OnMessage := OnMessage;
  WSServer.Active := True;
end;

procedure TForm1.OnMessage(Connection: TsgcWSConnection;
  const aText: string);
begin
  // Echo the message back to the client
  Connection.WriteData(aText);
end;

准备好开始了吗?

下载免费试用版,几分钟内即可开始构建实时应用程序。