QMqtt Namespace

Qt MQTT モジュール全体で使用される雑多な識別子が含まれています。詳細...

Header: #include <QMqtt>
CMake: find_package(Qt6 REQUIRED COMPONENTS Mqtt)
target_link_libraries(mytarget PRIVATE Qt6::Mqtt)
qmake: QT += mqtt

enum class MessageStatus { Unknown, Published, Acknowledged, Received, Released, Completed }
enum class PayloadFormatIndicator { Unspecified, UTF8Encoded }
enum class ReasonCode { Success, SubscriptionQoSLevel0, SubscriptionQoSLevel1, SubscriptionQoSLevel2, NoMatchingSubscriber, …, WildCardSubscriptionsNotSupported }

詳細説明

タイプ ドキュメンテーション

enum class QMqtt::MessageStatus

この列挙型は、メッセージの利用可能な状態を指定する。クライアントのQoSや役割に応じて、異なるメッセージ状態が期待される。

定数説明
QMqtt::MessageStatus::Unknown0メッセージ・ステータスは不明です。
QMqtt::MessageStatus::Published1クライアントは、そのサブスクリプションの 1 つに対するメッセージを受信しました。これは QoS レベル 1 と 2 に適用されます。
QMqtt::MessageStatus::Acknowledged2メッセージが確認されました。これは QoS 1 に適用され、クライアント側からのメッセージ処理が終了したことを示します。
QMqtt::MessageStatus::Received3メッセージが受信されました。これは QoS 2 に適用される。
QMqtt::MessageStatus::Released4メッセージがリリースされました。これは QoS 2 に適用される。
QMqtt::MessageStatus::Completed5メッセージが完了した。これは QoS 2 に適用され、クライアント側からのメッセージ処理が 終了したことを示す。

enum class QMqtt::PayloadFormatIndicator

ペイロード形式はメッセージの内容に関する情報を提供する。これは他のクライアントがより速くメッセージを処理するのに役立ちます。

定数説明
QMqtt::PayloadFormatIndicator::Unspecified0フォーマットは指定されません。
QMqtt::PayloadFormatIndicator::UTF8Encoded1メッセージのペイロードは UTF-8 Encoded Character Data としてフォーマットされる。

enum class QMqtt::ReasonCode

この列挙型は利用可能なエラーコードを指定する。

定数説明
QMqtt::ReasonCode::Success0指定されたアクションは成功しました。
QMqtt::ReasonCode::SubscriptionQoSLevel00QoS レベル 0 のサブスクリプションが作成されました。
QMqtt::ReasonCode::SubscriptionQoSLevel10x01QoS レベル 1 のサブスクリプションが作成されました。
QMqtt::ReasonCode::SubscriptionQoSLevel20x02QoS レベル 2 のサブスクリプションが作成されました。
QMqtt::ReasonCode::NoMatchingSubscriber0x10メッセージはサーバーによって受け入れられたが、このメッセージを受信 するサブスクライバーが存在しない。ブローカは Success の代わりにこの理由コードを送るかもしれない。
QMqtt::ReasonCode::NoSubscriptionExisted (since Qt 5.15)0x11一致するトピックフィルタがクライアントによって使用されていません。
QMqtt::ReasonCode::ContinueAuthentication (since Qt 5.15)0x18別の手順で認証を続行してください。
QMqtt::ReasonCode::ReAuthenticate (since Qt 5.15)0x19再認証を開始します。
QMqtt::ReasonCode::UnspecifiedError0x80特定できないエラーが発生した。
QMqtt::ReasonCode::MalformedPacket0x81サーバーに送信されたパケットが無効です。
QMqtt::ReasonCode::ProtocolError0x82プロトコルエラーが発生しました。ほとんどの場合、これによってサーバはクライアントを切断する。
QMqtt::ReasonCode::ImplementationSpecificError0x83パケットは有効だが、受信者が拒否した。
QMqtt::ReasonCode::UnsupportedProtocolVersion0x84要求されたプロトコルのバージョンがサーバーでサポートされていない。
QMqtt::ReasonCode::InvalidClientId0x85クライアントIDが無効である。
QMqtt::ReasonCode::InvalidUserNameOrPassword0x86指定されたユーザー名またはパスワードが無効です。
QMqtt::ReasonCode::NotAuthorized0x87クライアントが指定されたアクションを許可されていない。
QMqtt::ReasonCode::ServerNotAvailable0x88接続先のサーバーが利用できません。
QMqtt::ReasonCode::ServerBusy0x89接続先のサーバーが利用できません。クライアントは、後日接続を試みるように要求されます。
QMqtt::ReasonCode::ClientBanned0x8Aクライアントがサーバーから禁止されています。
QMqtt::ReasonCode::InvalidAuthenticationMethod0x8C指定された認証方法が無効です。
QMqtt::ReasonCode::InvalidTopicFilter0x8F指定されたトピックフィルタが無効です。
QMqtt::ReasonCode::InvalidTopicName0x90指定されたトピック名が無効です。
QMqtt::ReasonCode::MessageIdInUse0x91前のパケットで使用されたメッセージIDがすでに使用されている。
QMqtt::ReasonCode::MessageIdNotFound0x92前のパケットで使用されたメッセージIDが見つかりません。
QMqtt::ReasonCode::PacketTooLarge0x95受信したパケットが大きすぎる。QMqttServerConnectionProperties::maximumPacketSize()も参照のこと。
QMqtt::ReasonCode::QuotaExceeded0x97管理上の制限を超えました。
QMqtt::ReasonCode::InvalidPayloadFormat0x99ペイロードの形式が無効である。QMqttPublishProperties::payloadFormatIndicator() も参照してください。
QMqtt::ReasonCode::RetainNotSupported0x9Aサーバーが保持メッセージに対応していません。QMqttServerConnectionProperties::retainAvailable() も参照してください。
QMqtt::ReasonCode::QoSNotSupported0x9B要求された QoS レベルがサポートされていません。QMqttServerConnectionProperties::maximumQoS()も参照。
QMqtt::ReasonCode::UseAnotherServer0x9Cクライアントが接続しようとしたサーバは使用できません。QMqttServerConnectionProperties::serverReference() も参照してください。
QMqtt::ReasonCode::ServerMoved0x9Dクライアントが接続しようとしたサーバーが新しいアドレスに移動しました。QMqttServerConnectionProperties::serverReference() も参照してください。
QMqtt::ReasonCode::SharedSubscriptionsNotSupported0x9E共有サブスクリプションはサポートされていません。QMqttServerConnectionProperties::sharedSubscriptionSupported() も参照してください。
QMqtt::ReasonCode::ExceededConnectionRate0x9F接続率の制限を超えました。
QMqtt::ReasonCode::SubscriptionIdsNotSupported0xA1サブスクリプション ID はサポートされていません。QMqttServerConnectionProperties::subscriptionIdentifierSupported() も参照してください。
QMqtt::ReasonCode::WildCardSubscriptionsNotSupported0xA2ワイルドカードを使用したサブスクリプションはサポートされていません。QMqttServerConnectionProperties::wildcardSupported() も参照してください。

すべてのユースケースですべての値が使用できるわけではありません。特に、特定のコマンドに適さない理由コードを拒否するサーバーもあります。特定のアクションで期待される理由コードは以下の表を参照。

理由コード接続プロパティサブスクリプションのプロパティメッセージのプロパティ
成功XXX
サブスクリプションQoSLevel0X
サブスクリプションQoSLevel1X
サブスクリプションQoSLレベル2X
サブスクライバーの一致なしX
特定できないエラーXXX
不正パケットX
プロトコルエラーX
実装固有のエラーXXX
サポートされていないプロトコルバージョンX
無効なクライアントIDX
無効なユーザー名またはパスワードX
未承認XXX
サーバー使用不可X
サーバー使用中X
クライアント禁止X
無効な認証方法X
無効なトピックフィルタX
無効なトピック名XX
MessageIdInUseXX
MessageIdNotFoundX
パケットが大きすぎるX
クォータ超過XXX
無効なペイロードフォーマットXX
サポートされていない保持X
QoSNotSupportedX
別のサーバーを使用X
サーバー移動X
共有サブスクリプション非サポートX
接続レート超過X
サポートされていないサブスクリプションIDX
サポートされていないワイルドカード・サブスクリプションX

©2024 The Qt Company Ltd. 本文書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。