機能概要
sgcWebSockets はリアルタイムのクライアント/サーバー通信を実現するクロスプラットフォームライブラリです。Delphi で完全に構築されており、Windows、Linux、macOS、iOS、Android をサポートし、低遅延・高スループットアプリケーション向けに最適化されたパフォーマンスを提供します。
sgcWebSockets はリアルタイムのクライアント/サーバー通信を実現するクロスプラットフォームライブラリです。Delphi で完全に構築されており、Windows、Linux、macOS、iOS、Android をサポートし、低遅延・高スループットアプリケーション向けに最適化されたパフォーマンスを提供します。
あらゆるリアルタイムアプリケーションを支える堅牢な基盤。
Windows、Linux 64 ビット、macOS、iOS、Android に対応。単一のコードベースから VCL と FireMonkey を完全サポートします。
Windows では IOCP、Linux では EPOLL を活用し、最大限の同時接続数を実現する RFC 6455 準拠の WebSocket サーバー。
OpenSSL および SChannel バックエンドにより、サーバーとクライアントを完全に暗号化します。証明書管理機能を内蔵しています。
バイナリフレームと Unicode テキストメッセージを完全にサポートします。ファイル、画像、構造化データをネイティブに転送できます。
PerMessage-Deflate 拡張機能により、帯域幅を最大 80% 削減します。圧縮レベルは設定可能です。
WebSocket、HTTP/1.1、HTTP/2.0 の接続を同一ポートで処理します。別々のサーバーは不要です。
接続を健全に保ち、メッセージを確実に配信する組み込みメカニズム。
設定可能な間隔で自動的に ping/pong を送信します。切断された接続を早期に検出し、ファイアウォール越しでも接続を維持します。
予期しない切断後、クライアントの自動再接続およびサーバーの自動再起動を行います。ダウンタイムなしの復旧を実現します。
3 つの QoS レベル: 最大 1 回、最低 1 回、確実に 1 回の配信に対応し、あらゆる信頼性要件を満たします。
設定可能なレベルで永続的なメッセージストレージを提供します。再接続後に未受信メッセージを再送できます。
原子的な複数ステップ操作のための StartTransaction、Commit、Rollback メソッド。
接続ごとに秒あたりのビット数を制限します。帯域幅の濫用を防ぎ、リソースの公平な割り当てを実現します。
WebSocket 接続を保護するための複数の戦略。
ユーザー名/パスワード認証情報の検証のための標準的な HTTP Basic 認証。
クライアントとサーバーの両方で OAuth2 を完全サポートします。アイデンティティプロバイダーと連携してトークンベース認証を実現します。
サーバーサイドのセッション管理と、ブラウザクライアント向けトークンベース 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;