1

Google プロトコル バッファを使用してリクエストを受け入れ、クライアントに応答を返すにはどうすればよいでしょうか? リクエストを受け取るサーブレットを作成することを考えています。これを実装するための正しい方法は次のとおりです。 1. 着信要求のメッセージ定義である .proto ファイルを用意します。2. この要求を受け入れ、データベースへのクエリなどのさまざまなタスクを実行してから応答を送信するサーブレットを作成します。この応答には、応答を構成するすべてのフィールドを含む個別の .proto メッセージ定義が必要ですか? 3. クライアントはサーブレットの doGet() メソッドを呼び出してリクエストを渡すだけで、応答を protobuff オブジェクトとして返す必要がありますか?

どんな提案やアイデアも大歓迎です。

4

2 に答える 2

6

通常、要求メッセージと応答メッセージが必要です。また、アクションを説明するためにメソッド名が必要になることもあります。これは、ビルトインの PB サービスが確実に機能する方法です。

クライアントは doGet() を呼び出さず、要求 (おそらく GET ではなく POST) を行い、サーブレットはそれを受け取ります。

ここで、理想的には、適切なインターフェースを実装するサービスにリクエストを渡すことで、リクエストを処理できる一般的な「ProtocolBufferServlet」を持つことができます。

詳細については、 Protocol Buffer サービスのドキュメントとJava サービス生成コードを参照することをお勧めします。RpcChannelサーブレットで機能する を実装するか、クライアントに HTTP ポストを直接作成させることができます。おそらく、サーバー側で何らかの依存性注入を使用して、サービスを実装しているものをサーブレットに伝えるでしょう。

于 2009-07-21T22:48:26.123 に答える
0

こんにちは、

私はこれを稼働させています。最終的に、サーブレットへの投稿として http リクエストを投稿しました。リクエスト プロトコル バッファを取得し、リクエストを読み取り、何らかの処理を行ってから、レスポンスを返すことができました。私がそれを機能させたら、それは実際には本当に簡単でした。1 つの .proto ファイルを使用して、リクエストとレスポンスのメッセージ構造を定義しました。

于 2009-08-27T17:10:00.547 に答える