TsgcWSServer_HTTPAPI_WebBrokerBridge

TsgcWSServer_HTTPAPI_WebBrokerBridgeは、サーバーベースとしてHTTP/2 プロトコルを有効にしたTsgcWebSocketServer_HTTPAPI 使用します。DataSnap、HTTP/2、WebSocket接続に単一のサーバーを使用したい場合に便利です。

 

TsgcWSServer_HTTPAPI_WebBrokerBridgeTsgcWebSocketServer_HTTPAPI を継承しているため、このサーバーを参照できます。

 

TIdHttpWebBrokerBridgeTsgcWSServer_HTTPAPI_WebBrokerBridge に置き換えるには次の手順に従ってください:

 

1. TsgcWSServer_HTTPAPI_WebBrokerBridge の新しいインスタンスを作成します。

 

2. TIdHttpWebBrokerBridge へのすべての呼び出しを TsgcWSServer_HTTPAPI_WebBrokerBridge に置き換えます。

 

3. WebSocket 接続を処理するには TsgcWSServer_HTTPAPI_WebBrokerBridge を参照してください。

 

設定

Datasnap コンポーネントはソースフォルダーにのみ配置されています。これらのオブジェクトは sgcWebSockets パッケージに含まれていないため、コンパイル済みフォルダーには見つかりません。実行時に作成する必要があります。

必要なファイルをプロジェクトに追加するか、sgcWebSocketsパッケージのSourceフォルダーへのパスを設定するだけです。必要なファイル:

 

 

プロジェクトが IdHTTPWebBrokerBridge を使用している場合は sgcIdHTTPWebBrokerBridge に変更します (Enterprise Edition のみ適用)。

イベント


FServer := TsgcWSServer_HTTPAPI_WebBrokerBridge.Create(Self);
FServer.OnCommandRequest := OnCommandRequestEvent;
FServer.OnMessage := OnWebSocketMessage;
  
procedure OnCommandRequestEvent(aConnection : TsgcWSConnection_HTTPAPI; 
  const aRequestInfo: THttpServerRequest; var aResponseInfo: THttpServerResponse; var aHandled: Boolean);
begin
  if ARequestInfo.Document = '/test.html' then
  begin
    AResponseInfo.ResponseNo := 200;
    AResponseInfo.ContentText := '... body ...';
    aHandled := True;
  end;
end;
procedure OnWebSocketMessage(aConnection: TsgcWSConnection; const aText: string);
begin
  aConnection.WriteData(aText);
end;