このページでは

QMqtt Namespace

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

ヘッダー: #include <qmqttglobal.h>
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クライアントは、自身のサブスクリプションのいずれかに対するメッセージを受信しました。これは、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 エンコードされた文字データとしてフォーマットされます。

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
SubscriptionQoSLevel0X
サブスクリプションQoSレベル1X
サブスクリプションQoSレベル2X
一致する加入者がいないX
未指定のエラーXXX
不正なパケットX
プロトコルエラーX
実装固有のエラーXXX
UnsupportedProtocolVersionX
無効なクライアントIDX
無効なユーザー名またはパスワードX
権限なしXXX
サーバー利用不可X
サーバーがビジー状態X
クライアントが利用禁止X
認証方法が不正ですX
トピックフィルターが無効ですX
トピック名が不正ですXX
使用中のメッセージIDXX
MessageIdNotFoundX
PacketTooLargeX
割り当て超過XXX
ペイロード形式が無効XX
保持はサポートされていませんX
QoS未対応X
別のサーバーを使用するX
サーバーが移動しましたX
共有サブスクリプションはサポートされていませんX
接続レート超過X
サブスクリプションIDがサポートされていませんX
ワイルドカードサブスクリプションはサポートされていませんX

© 2026 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.