14.2. リクエスト/レスポンス C++ の例


この例では、リクエスト/応答パターンを使用するクライアントおよびサーバーです。サーバーはサービスキューを作成し、メッセージが到達するのを待機します。メッセージを受信すると、メッセージを送信元に送信します。
C++
Receiver receiver = session.createReceiver("service_queue; {create: always}");

Message request = receiver.fetch();
const Address& address = request.getReplyTo(); // Get "reply-to" from request ...
if (address) {
  Sender sender = session.createSender(address); // ... send response to "reply-to"
  Message response("pong!");
  sender.send(response);
  session.acknowledge();
}
Copy to Clipboard Toggle word wrap
クライアントはサービスキューの送信側を作成し、クライアントが応答キューの受信側を閉じたときに削除される応答キューも作成します。C++ クライアントでは、アドレスが文字で始まる場合は #、一意の名前が指定されます。
C++
Sender sender = session.createSender("service_queue");

Receiver receiver = session.createReceiver("#response-queue; {create:always}");
Address responseQueue = receiver.getAddress();

Message request;
request.setReplyTo(responseQueue);
request.setContent("ping");
sender.send(request);
Message response = receiver.fetch();
std::cout << request.getContent() << " -> " << response.getContent() << std::endl;
Copy to Clipboard Toggle word wrap
クライアントは文字列 ping をサーバーに送信します。サーバーは、replyTo プロパティーを使用して応答 pong を同じクライアントに送信します。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat