QMqtt Namespace
Qt MQTT 모듈 전체에서 사용되는 기타 식별자를 포함합니다. 더 보기...
헤더: | #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 및 역할에 따라 다양한 메시지 상태가 예상됩니다.
Constant | 값 | 설명 |
---|---|---|
QMqtt::MessageStatus::Unknown | 0 | 메시지 상태를 알 수 없습니다. |
QMqtt::MessageStatus::Published | 1 | 클라이언트가 구독 중 하나에 대한 메시지를 받았습니다. 이는 QoS 수준 1 및 2에 적용됩니다. |
QMqtt::MessageStatus::Acknowledged | 2 | 메시지가 승인되었습니다. QoS 1에 적용되며 클라이언트 측에서 메시지 처리가 완료되었음을 나타냅니다. |
QMqtt::MessageStatus::Received | 3 | 메시지가 수신되었습니다. QoS 2에 해당합니다. |
QMqtt::MessageStatus::Released | 4 | 메시지가 해제되었습니다. QoS 2에 해당하며 게시자의 경우 메시지 처리가 완료되었음을 나타냅니다. |
QMqtt::MessageStatus::Completed | 5 | 메시지가 완료되었습니다. QoS 2에 적용되며 클라이언트 측에서 메시지 처리가 완료되었음을 나타냅니다. |
enum class QMqtt::PayloadFormatIndicator
페이로드 형식은 메시지 내용에 대한 정보를 제공합니다. 이는 다른 클라이언트가 메시지를 더 빠르게 처리하는 데 도움이 될 수 있습니다.
상수 | 값 | 설명 |
---|---|---|
QMqtt::PayloadFormatIndicator::Unspecified | 0 | 형식이 지정되지 않았습니다. |
QMqtt::PayloadFormatIndicator::UTF8Encoded | 1 | 메시지의 페이로드 형식은 UTF-8 인코딩된 문자 데이터로 지정됩니다. |
enum class QMqtt::ReasonCode
이 열거형 유형은 사용 가능한 오류 코드를 지정합니다.
Constant | 값 | 설명 |
---|---|---|
QMqtt::ReasonCode::Success | 0 | 지정된 작업이 성공했습니다. |
QMqtt::ReasonCode::SubscriptionQoSLevel0 | 0 | QoS 수준이 0인 구독이 만들어졌습니다. |
QMqtt::ReasonCode::SubscriptionQoSLevel1 | 0x01 | QoS 수준 1의 구독이 만들어졌습니다. |
QMqtt::ReasonCode::SubscriptionQoSLevel2 | 0x02 | QoS 수준 2의 구독이 만들어졌습니다. |
QMqtt::ReasonCode::NoMatchingSubscriber | 0x10 | 서버에서 메시지를 수락했지만 이 메시지를 수신할 가입자가 없습니다. 브로커가 성공 대신 이 이유 코드를 보낼 수 있습니다. |
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::UnspecifiedError | 0x80 | 지정되지 않은 오류가 발생했습니다. |
QMqtt::ReasonCode::MalformedPacket | 0x81 | 서버로 전송된 패킷이 유효하지 않습니다. |
QMqtt::ReasonCode::ProtocolError | 0x82 | 프로토콜 오류가 발생했습니다. 대부분의 경우 이 경우 서버가 클라이언트의 연결을 끊습니다. |
QMqtt::ReasonCode::ImplementationSpecificError | 0x83 | 패킷은 유효하지만 수신자가 패킷을 거부합니다. |
QMqtt::ReasonCode::UnsupportedProtocolVersion | 0x84 | 요청된 프로토콜 버전이 서버에서 지원되지 않습니다. |
QMqtt::ReasonCode::InvalidClientId | 0x85 | 클라이언트 ID가 유효하지 않습니다. |
QMqtt::ReasonCode::InvalidUserNameOrPassword | 0x86 | 지정한 사용자 이름 또는 비밀번호가 잘못되었습니다. |
QMqtt::ReasonCode::NotAuthorized | 0x87 | 클라이언트에 지정된 작업에 대한 권한이 없습니다. |
QMqtt::ReasonCode::ServerNotAvailable | 0x88 | 연결할 서버를 사용할 수 없습니다. |
QMqtt::ReasonCode::ServerBusy | 0x89 | 연결할 서버를 사용할 수 없습니다. 클라이언트에게 나중에 다시 시도하라는 메시지가 표시됩니다. |
QMqtt::ReasonCode::ClientBanned | 0x8A | 클라이언트가 서버에서 금지되었습니다. |
QMqtt::ReasonCode::InvalidAuthenticationMethod | 0x8C | 지정한 인증 방법이 잘못되었습니다. |
QMqtt::ReasonCode::InvalidTopicFilter | 0x8F | 지정한 주제 필터가 잘못되었습니다. |
QMqtt::ReasonCode::InvalidTopicName | 0x90 | 지정한 주제 이름이 잘못되었습니다. |
QMqtt::ReasonCode::MessageIdInUse | 0x91 | 이전 패킷에 사용된 메시지 ID가 이미 사용 중입니다. |
QMqtt::ReasonCode::MessageIdNotFound | 0x92 | 이전 패킷에 사용된 메시지 ID를 찾을 수 없습니다. |
QMqtt::ReasonCode::PacketTooLarge | 0x95 | 받은 패킷이 너무 큽니다. QMqttServerConnectionProperties::maximumPacketSize ()도 참조하세요. |
QMqtt::ReasonCode::QuotaExceeded | 0x97 | 관리적으로 부과된 제한을 초과했습니다. |
QMqtt::ReasonCode::InvalidPayloadFormat | 0x99 | 페이로드 형식이 유효하지 않습니다. QMqttPublishProperties::payloadFormatIndicator ()도 참조하세요. |
QMqtt::ReasonCode::RetainNotSupported | 0x9A | 서버가 보존된 메시지를 지원하지 않습니다. QMqttServerConnectionProperties::retainAvailable ()도 참조하세요. |
QMqtt::ReasonCode::QoSNotSupported | 0x9B | 요청된 QoS 수준이 지원되지 않습니다. QMqttServerConnectionProperties::maximumQoS ()도 참조하세요. |
QMqtt::ReasonCode::UseAnotherServer | 0x9C | 클라이언트가 연결하려는 서버를 사용할 수 없습니다. QMqttServerConnectionProperties::serverReference ()도 참조하세요. |
QMqtt::ReasonCode::ServerMoved | 0x9D | 클라이언트가 연결하려는 서버가 새 주소로 이동했습니다. QMqttServerConnectionProperties::serverReference ()도 참조하세요. |
QMqtt::ReasonCode::SharedSubscriptionsNotSupported | 0x9E | 공유 구독은 지원되지 않습니다. QMqttServerConnectionProperties::sharedSubscriptionSupported ()도 참조하세요. |
QMqtt::ReasonCode::ExceededConnectionRate | 0x9F | 연결 속도 제한을 초과했습니다. |
QMqtt::ReasonCode::SubscriptionIdsNotSupported | 0xA1 | 구독 ID는 지원되지 않습니다. QMqttServerConnectionProperties::subscriptionIdentifierSupported ()도 참조하세요. |
QMqtt::ReasonCode::WildCardSubscriptionsNotSupported | 0xA2 | 와일드카드를 사용한 구독은 서버에서 지원되지 않습니다. QMqttServerConnectionProperties::wildcardSupported ()도 참조하세요. |
모든 사용 사례에서 모든 값을 사용할 수 있는 것은 아닙니다. 특히 일부 서버는 특정 명령에 적합하지 않은 이유 코드를 거부합니다. 특정 작업에 대해 예상되는 이유 코드를 강조 표시하려면 아래 표를 참조하세요.
이유 코드 | 연결 속성 | 구독 속성 | 메시지 속성 |
---|---|---|---|
성공 | X | X | X |
구독QoS레벨0 | X | ||
SubscriptionQoSLevel1 | X | ||
SubscriptionQoSLevel2 | X | ||
일치하지 않는 구독자 | X | ||
지정되지 않은 오류 | X | X | X |
MalformedPacket | X | ||
프로토콜 오류 | X | ||
구현 특정 에러 | X | X | X |
지원되지 않는 프로토콜 버전 | X | ||
InvalidClientId | X | ||
잘못된 사용자 이름 또는 비밀번호 | X | ||
NotAuthorized | X | X | X |
서버 사용 불가 | X | ||
ServerBusy | X | ||
ClientBanned | X | ||
InvalidAuthenticationMethod | X | ||
InvalidTopicFilter | X | ||
InvalidTopicName | X | X | |
MessageIdInUse | X | X | |
MessageIdNotFound | X | ||
PacketTooLarge | X | ||
할당량 초과 | X | X | X |
InvalidPayloadFormat | X | X | |
RetainNotSupported | X | ||
QoSNotSupported | X | ||
다른 서버 사용 | X | ||
ServerMoved | X | ||
공유 구독이 지원되지 않음 | X | ||
ExceededConnectionRate | X | ||
SubscriptionIdsNotSupported | X | ||
와일드카드 구독 지원되지 않음 | X |
© 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.