QGrpcHttp2Channel Class
QGrpcHttp2Channelクラスは、通信のためのHTTP/2トランスポート・レイヤーを提供する。 gRPC™通信を提供します。詳細...
ヘッダー | #include <QGrpcHttp2Channel> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Grpc) target_link_libraries(mytarget PRIVATE Qt6::Grpc) |
以来: | Qt 6.5 |
QML では | GrpcHttp2Channel |
継承: | QAbstractGrpcChannel |
パブリック関数
QGrpcHttp2Channel(const QUrl &hostUri) | |
QGrpcHttp2Channel(const QUrl &hostUri, const QGrpcChannelOptions &options) | |
virtual | ~QGrpcHttp2Channel() override |
QUrl | hostUri() const |
詳しい説明
QGrpcHttp2Channel クラスはQAbstractGrpcChannel を実装しています。 gRPC™を実装しています。
HTTP/2は、その前身であるHTTP/1.1よりもいくつかの利点を導入しており、QGrpcHttp2Channelは、多重化されたTCP接続を使用することで、セキュリティや信頼性を犠牲にすることなく、効率的な通信を必要とする高性能なリアルタイムアプリケーションに適しています。
このチャネルは、必要なカスタマイズを含むQGrpcChannelOptions を使って構築することで、SSLサポートやカスタムserializationFormat などのオプションでカスタマイズすることができる。
コンテンツ・タイプ
gRPC over HTTP/2のcontent-typeは、メッセージのシリアライズ形式を決定します。それはapplication/grpc
で始まらなければならず、接尾辞を含むことができます。フォーマットはこのスキームに従います:
"content-type": "application/grpc" [("+proto" / "+json" / {custom})]
例えば
application/grpc+proto
はProtobufエンコーディングを指定します。application/grpc+json
はJSONエンコーディングを指定します。
シリアライズ形式は、メタデータ内でcontent-type
を指定するか、serializationFormat を直接設定することで設定できます。デフォルトでは、application/grpc
content-typeが使用されます。
QGrpcHttp2ChannelをJSONシリアライズフォーマットで設定するには、content-type
メタデータを使用します:
auto jsonChannel = std::make_shared<QGrpcHttp2Channel>( QUrl("http://localhost:50051"_L1), QGrpcChannelOptions().setMetadata({ { "content-type"_ba, "application/grpc+json"_ba }, }) );
カスタムシリアライザとcontent-type
、直接シリアライズフォーマットを設定することができます:
class DummySerializer : public QAbstractProtobufSerializer { ... }; QGrpcSerializationFormat dummyFormat("dummy", std::make_shared<DummySerializer>());
auto dummyChannel = std::make_shared<QGrpcHttp2Channel>( QUrl("http://localhost:50051"_L1), QGrpcChannelOptions().setSerializationFormat(dummyFormat) );
これは、dummy
サフィックスを持つメッセージのエンコードとデコードにDummySerializer
を使用します。HTTP/2トランスポートでは、これはapplication/grpc+dummy
content-typeになります。
注意: カスタムシリアライザーは、指定されたフォーマットのサーバーサポートを必要とします。
QAbstractGrpcChannel 、QGrpcChannelOptions 、QGrpcSerializationFormatも参照してください 。
メンバ関数ドキュメント
[explicit]
QGrpcHttp2Channel::QGrpcHttp2Channel(const QUrl &hostUri)
QGrpcHttp2Channel をhostUri で構築する。
[explicit]
QGrpcHttp2Channel::QGrpcHttp2Channel(const QUrl &hostUri, const QGrpcChannelOptions &options)
QGrpcHttp2Channel をhostUri とoptions で構築する。
[override virtual noexcept]
QGrpcHttp2Channel::~QGrpcHttp2Channel()
QGrpcHttp2Channel オブジェクトを破棄する。
QUrl QGrpcHttp2Channel::hostUri() const
このチャネルのホスト URI を返します。
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.