WebBroker + WebSockets

同一ポートでネイティブ WebSocket アップグレードも受け付ける Indy ベースの WebBroker / DataSnap ホスト。クロスプラットフォーム対応 — Windows、Linux、macOS で動作します。

TsgcWSHTTPWebBrokerBridgeServer

Embarcadero の WebBroker パイプライン(TWebModule、DataSnap REST、RAD Server)をクロスプラットフォームの Indy サーバー上に橋渡しし、同一リスナーでネイティブ WebSocket アップグレードを処理します。

コンポーネントクラス

TsgcWSHTTPWebBrokerBridgeServer

プロトコル

WebSocket (RFC 6455)

プラットフォーム

Windows, macOS, Linux, iOS, Android

エディション

Enterprise

ポートと WebModule を設定して待受開始

WebRequestHandler 経由で TWebModule をマウントし、ブリッジサーバーのポートと SSL を設定して、WebSocket アップグレードパス用に OnConnect をアタッチし、Active := True とします。

uses
  sgcWebSocket, sgcWebSocket_DataSnap, WebReq, WebModuleUnit1;

var
  Server: TsgcWSHTTPWebBrokerBridgeServer;
begin
  if WebRequestHandler <> nil then
    WebRequestHandler.WebModuleClass := WebModuleClass;

  Server := TsgcWSHTTPWebBrokerBridgeServer.Create(nil);
  Server.Port := 8080;

  // the same server accepts WebSocket upgrades
  Server.OnMessage := procedure(Connection: TsgcWSConnection;
    const aText: string)
  begin
    Connection.WriteData('echo: ' + aText);
  end;

  Server.Active := True;
end;

主な機能

純粋な Delphi 製のクロスプラットフォーム WebBroker ホスト — DataSnap REST および RAD Server エンドポイントを含め、Linux と Windows の両方で動作します。

WebBroker ディスパッチ

インバウンド HTTP リクエストは標準の WebRequestHandler / WebModule チェーンを通過するため、既存の DataSnap REST および TWebModule ハンドラーはそのまま動作します。

ネイティブ WebSocket

WebSocket アップグレードは同じコンポーネントで処理されます — OnMessageOnBinaryOnConnectOnDisconnect がすべて HTTP と並行して利用できます。

OpenSSL 経由の TLS

HTTPS 用に SSLOptions(CertFile / KeyFile / RootCertFile)を設定します — 同じ TLS 設定が HTTP と WebSocket トラフィックの両方に適用されます。

クロスプラットフォーム

Indy が動作する環境ならどこでも動作します — Windows、Linux 64、macOS — Windows 以外への展開が必要な DataSnap サービスに最適です。

CORS とリダイレクト

CORS プリフライト処理、ルートベースのリダイレクト、IP フィルタリングがプロパティとして公開されており、各 WebModule で個別に実装する必要はありません。

HTTP/2 サーバーの兄弟コンポーネント

同じ WebBroker スタックで HTTP/2 サポートが必要な場合は、兄弟コンポーネントの TsgcWSHTTP2WebBrokerBridgeServer を使用してください — 同一のインターフェースに HTTP/2 フレーミングを追加したものです。

仕様とリファレンス

本コンポーネントが実装するプロトコルの公式情報源です。

ドキュメントとデモ

コンポーネントリファレンスへのディープリンク、すぐに実行できるデモプロジェクト、体験版のダウンロードをご利用ください。

オンラインヘルプ — TsgcWSHTTPWebBrokerBridgeServer 本コンポーネントのプロパティ、メソッド、イベントの完全なリファレンスです。
デモプロジェクト — Demos\40.DataSnap\Server_Indy_HTTP すぐに実行できるサンプルプロジェクトです。sgcWebSockets パッケージに同梱されています — 下のリンクから体験版をダウンロードしてください。
技術ドキュメント (PDF) 機能、クイックスタート、Delphi および C++ Builder のコードサンプルと一次情報源リファレンス — 本コンポーネントのみ。
ユーザーマニュアル (PDF) ライブラリ内のすべてのコンポーネントを網羅した包括的なマニュアルです。

DataSnap サーバーを近代化する準備はできていますか?

体験版をダウンロードして、既存の WebBroker / DataSnap モジュールに WebSocket サポートを追加してください。