TsgcWSServer_HTTPAPI_WebBrokerBridgeは、サーバーベースとしてHTTP/2 プロトコルを有効にしたTsgcWebSocketServer_HTTPAPI を 使用します。DataSnap、HTTP/2、WebSocket接続に単一のサーバーを使用したい場合に便利です。
TsgcWSServer_HTTPAPI_WebBrokerBridge は TsgcWebSocketServer_HTTPAPI を継承しているため、このサーバーを参照できます。
TIdHttpWebBrokerBridge を TsgcWSServer_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;