機能概要

sgcWebSockets はリアルタイムのクライアント/サーバー通信を実現するクロスプラットフォームライブラリです。Delphi で完全に構築されており、Windows、Linux、macOS、iOS、Android をサポートし、低遅延・高スループットアプリケーション向けに最適化されたパフォーマンスを提供します。

プラットフォーム & プロトコルサポート

あらゆるリアルタイムアプリケーションを支える堅牢な基盤。

クロスプラットフォーム

Windows、Linux 64 ビット、macOS、iOS、Android に対応。単一のコードベースから VCL と FireMonkey を完全サポートします。

マルチスレッドサーバー

Windows では IOCP、Linux では EPOLL を活用し、最大限の同時接続数を実現する RFC 6455 準拠の WebSocket サーバー。

SSL/TLS 1.2 & 1.3

OpenSSL および SChannel バックエンドにより、サーバーとクライアントを完全に暗号化します。証明書管理機能を内蔵しています。

バイナリ & Unicode

バイナリフレームと Unicode テキストメッセージを完全にサポートします。ファイル、画像、構造化データをネイティブに転送できます。

メッセージ圧縮

PerMessage-Deflate 拡張機能により、帯域幅を最大 80% 削減します。圧縮レベルは設定可能です。

マルチプロトコルサーバー

WebSocket、HTTP/1.1、HTTP/2.0 の接続を同一ポートで処理します。別々のサーバーは不要です。

接続 & メッセージング

接続を健全に保ち、メッセージを確実に配信する組み込みメカニズム。

HeartBeat

設定可能な間隔で自動的に ping/pong を送信します。切断された接続を早期に検出し、ファイアウォール越しでも接続を維持します。

WatchDog

予期しない切断後、クライアントの自動再接続およびサーバーの自動再起動を行います。ダウンタイムなしの復旧を実現します。

Quality of Service

3 つの QoS レベル: 最大 1 回、最低 1 回、確実に 1 回の配信に対応し、あらゆる信頼性要件を満たします。

メッセージキューイング

設定可能なレベルで永続的なメッセージストレージを提供します。再接続後に未受信メッセージを再送できます。

トランザクション

原子的な複数ステップ操作のための StartTransaction、Commit、Rollback メソッド。

帯域幅スロットリング

接続ごとに秒あたりのビット数を制限します。帯域幅の濫用を防ぎ、リソースの公平な割り当てを実現します。

認証方式

WebSocket 接続を保護するための複数の戦略。

Basic 認証

ユーザー名/パスワード認証情報の検証のための標準的な HTTP Basic 認証。

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
  // メッセージをクライアントに返送します
  Connection.WriteData(aText);
end;

始める準備はできましたか?

体験版をダウンロードし、数分でリアルタイムアプリケーションの構築を開始できます。