コールバックの利用
コールバックは、サーバー メソッドの実行中に、サーバーがクライアントに対して通信する必要がある場合に役立ちます。 コールバックを使うことで、JSON パラメータをクライアントに送り返すことができ、クライアントからは JSON 値をサーバーに返すことができます。
コールバックを渡すには、サーバー メソッドに TDBXCallback 型のパラメータが必要です。次の例を参照してください。
procedure Callback(const PCallback: TDBXCallback);
サーバーの実装内では、任意の時点でコールバックを呼び出すことができます。
PCallback.Execute(TJSONString.Create('test'));
この呼び出しは同期的に行われ、クライアントの JSON 値を返します。
クライアント側では、TDBXCallback クラスを拡張して、Execute メソッドをオーバーライドする必要があります:
TCallbackClient = class(TDBXCallback)
function Execute(const Arg: TJSONValue): TJSONValue; override;
end;
サーバー メソッドは、クライアントのコールバック クラスのインスタンスを使って呼び出す必要があります。
コールバック パラメータはプロキシ インスタンスまたはサーバーが所有し、コールバックが完了すると解放されます。