QMqttClient Class

QMqttClient 클래스는 MQTT 브로커와 통신하는 중앙 액세스를 나타냅니다. 더 보기...

헤더: #include <QMqttClient>
CMake: find_package(Qt6 REQUIRED COMPONENTS Mqtt)
target_link_libraries(mytarget PRIVATE Qt6::Mqtt)
qmake: QT += mqtt
상속합니다: QObject

공용 유형

enum ClientError { NoError, InvalidProtocolVersion, IdRejected, ServerUnavailable, BadUsernameOrPassword, …, Mqtt5SpecificError }
enum ClientState { Disconnected, Connecting, Connected }
enum ProtocolVersion { MQTT_3_1, MQTT_3_1_1, MQTT_5_0 }
enum TransportType { IODevice, AbstractSocket, SecureSocket }

속성

공용 기능

QMqttClient(QObject *parent = nullptr)
virtual ~QMqttClient() override
void authenticate(const QMqttAuthenticationProperties &prop)
bool autoKeepAlive() const
bool cleanSession() const
QString clientId() const
void connectToHost()
void connectToHostEncrypted(const QSslConfiguration &conf)
QMqttConnectionProperties connectionProperties() const
void disconnectFromHost()
QMqttClient::ClientError error() const
QString hostname() const
quint16 keepAlive() const
QMqttLastWillProperties lastWillProperties() const
QString password() const
quint16 port() const
QMqttClient::ProtocolVersion protocolVersion() const
qint32 publish(const QMqttTopicName &topic, const QByteArray &message = QByteArray(), quint8 qos = 0, bool retain = false)
qint32 publish(const QMqttTopicName &topic, const QMqttPublishProperties &properties, const QByteArray &message = QByteArray(), quint8 qos = 0, bool retain = false)
bool requestPing()
QMqttServerConnectionProperties serverConnectionProperties() const
void setConnectionProperties(const QMqttConnectionProperties &prop)
void setLastWillProperties(const QMqttLastWillProperties &prop)
void setTransport(QIODevice *device, QMqttClient::TransportType transport)
QMqttClient::ClientState state() const
QMqttSubscription *subscribe(const QMqttTopicFilter &topic, quint8 qos = 0)
QMqttSubscription *subscribe(const QMqttTopicFilter &topic, const QMqttSubscriptionProperties &properties, quint8 qos = 0)
QIODevice *transport() const
void unsubscribe(const QMqttTopicFilter &topic)
void unsubscribe(const QMqttTopicFilter &topic, const QMqttUnsubscriptionProperties &properties)
QString username() const
QByteArray willMessage() const
quint8 willQoS() const
bool willRetain() const
QString willTopic() const

공용 슬롯

void setAutoKeepAlive(bool autoKeepAlive)
void setCleanSession(bool cleanSession)
void setClientId(const QString &clientId)
void setError(QMqttClient::ClientError error)
void setHostname(const QString &hostname)
void setKeepAlive(quint16 keepAlive)
void setPassword(const QString &password)
void setPort(quint16 port)
void setProtocolVersion(QMqttClient::ProtocolVersion protocolVersion)
void setState(QMqttClient::ClientState state)
void setUsername(const QString &username)
void setWillMessage(const QByteArray &willMessage)
void setWillQoS(quint8 willQoS)
void setWillRetain(bool willRetain)
void setWillTopic(const QString &willTopic)

신호

void authenticationFinished(const QMqttAuthenticationProperties &p)
void authenticationRequested(const QMqttAuthenticationProperties &p)
void autoKeepAliveChanged(bool autoKeepAlive)
void brokerSessionRestored()
void cleanSessionChanged(bool cleanSession)
void clientIdChanged(QString clientId)
void connected()
void disconnected()
void errorChanged(QMqttClient::ClientError error)
void hostnameChanged(QString hostname)
void keepAliveChanged(quint16 keepAlive)
void messageReceived(const QByteArray &message, const QMqttTopicName &topic = QMqttTopicName())
void messageSent(qint32 id)
void messageStatusChanged(qint32 id, QMqtt::MessageStatus s, const QMqttMessageStatusProperties &properties)
void passwordChanged(QString password)
void pingResponseReceived()
void portChanged(quint16 port)
void protocolVersionChanged(QMqttClient::ProtocolVersion protocolVersion)
void stateChanged(QMqttClient::ClientState state)
void usernameChanged(QString username)
void willMessageChanged(QByteArray willMessage)
void willQoSChanged(quint8 willQoS)
void willRetainChanged(bool willRetain)
void willTopicChanged(QString willTopic)

상세 설명

MQTT 클라이언트는 브로커라고도 하는 MQTT를 사용하여 MQTT 서버에 대한 네트워크 연결을 만드는 프로그램 또는 디바이스입니다. 연결 요청에는 고유한 클라이언트 식별자가 포함되어야 합니다. 선택 사항으로 유언장 주제, 유언장 메시지, 사용자 이름 및 비밀번호를 포함할 수 있습니다.

연결이 생성되면 클라이언트는 다른 클라이언트가 수신할 만한 메시지를 보내고, 토픽에 대한 알림을 신청하고, 알림 요청을 삭제하기 위해 구독을 취소하고, 브로커와의 연결을 끊을 수 있습니다.

회원 유형 문서

enum QMqttClient::ClientError

이 열거형 유형은 클라이언트의 오류 상태를 지정합니다.

Constant설명
QMqttClient::NoError0오류가 발생하지 않았습니다.
QMqttClient::InvalidProtocolVersion1브로커가 지정된 프로토콜 버전을 사용하는 연결을 수락하지 않습니다.
QMqttClient::IdRejected2클라이언트 ID가 잘못되었습니다. 길이와 관련이 있을 수 있습니다.
QMqttClient::ServerUnavailable3네트워크 연결이 설정되었지만 브로커 측에서 서비스를 사용할 수 없습니다.
QMqttClient::BadUsernameOrPassword4사용자 아이디 또는 비밀번호의 데이터가 잘못되었습니다.
QMqttClient::NotAuthorized5클라이언트에 연결 권한이 없습니다.
QMqttClient::TransportInvalid256기본 전송에 오류가 발생했습니다. 예를 들어 연결이 예기치 않게 중단되었을 수 있습니다.
QMqttClient::ProtocolViolation257클라이언트에서 프로토콜 위반이 발생하여 연결을 닫았습니다.
QMqttClient::UnknownError258알 수 없는 오류가 발생했습니다.
QMqttClient::Mqtt5SpecificError259이 오류는 MQTT 프로토콜 레벨 5와 관련이 있습니다. 이유 코드에서 자세한 내용을 확인할 수 있습니다.

enum QMqttClient::ClientState

이 열거형 유형은 클라이언트가 입력할 수 있는 상태를 지정합니다.

Constant설명
QMqttClient::Disconnected0클라이언트가 브로커와 연결이 끊어졌습니다.
QMqttClient::Connecting1연결 요청이 이루어졌지만 브로커가 아직 연결을 승인하지 않았습니다.
QMqttClient::Connected2클라이언트가 브로커에 연결되었습니다.

enum QMqttClient::ProtocolVersion

이 열거형은 브로커와 통신할 때 사용할 MQTT 표준의 프로토콜 버전을 지정합니다.

Constant설명
QMqttClient::MQTT_3_13MQTT 표준 3.1
QMqttClient::MQTT_3_1_14MQTT 표준 3.1.1, 공개적으로 버전 4라고 함
QMqttClient::MQTT_5_05MQTT 표준 5.0

enum QMqttClient::TransportType

이 열거 형은 브로커에 대한 연결을 인스턴스화하는 데 사용할 연결 방법을 지정합니다.

Constant설명
QMqttClient::IODevice0전송은 QIODevice.
QMqttClient::AbstractSocket1전송은 QAbstractSocket 에 기반한 클래스를 사용합니다.
QMqttClient::SecureSocket2전송은 QSslSocket 에 기반한 클래스를 사용합니다.

속성 문서

autoKeepAlive : bool

이 속성은 클라이언트가 서버에 대한 연결 유지 메시지를 자동으로 관리할지 여부를 나타냅니다.

이 속성이 true 인 경우 클라이언트는 keepAlive 간격으로 서버에 자동으로 핑 메시지를 보냅니다.

그렇지 않으면 사용자가 지정된 연결 간격 내에 requestPing 을 수동으로 호출해야 합니다. 이 간격 내에 핑이 전송되지 않으면 서버가 연결을 끊습니다.

이 속성의 기본값은 true 입니다.

액세스 기능

bool autoKeepAlive() const
void setAutoKeepAlive(bool autoKeepAlive)

알림 신호:

void autoKeepAliveChanged(bool autoKeepAlive)

keepAlive(), requestPing(), serverConnectionProperties() 및 pingResponseReceived()도 참조하세요 .

cleanSession : bool

이 속성은 브로커에 연결한 후의 상태를 저장합니다.

액세스 함수:

bool cleanSession() const
void setCleanSession(bool cleanSession)

알림 신호:

void cleanSessionChanged(bool cleanSession)

clientId : QString

이 속성에는 클라이언트의 식별자 값이 저장됩니다.

각 클라이언트는 MQTT 브로커에 연결할 수 있는 고유 ID가 있어야 합니다. 사용자가 클라이언트 ID를 지정하지 않으면 연결이 설정될 때 자동으로 생성됩니다.

액세스 기능:

QString clientId() const
void setClientId(const QString &clientId)

알림 신호:

void clientIdChanged(QString clientId)

error : ClientError

클라이언트의 현재 오류를 지정합니다.

기능에 액세스합니다:

QMqttClient::ClientError error() const
void setError(QMqttClient::ClientError error)

알림 신호:

void errorChanged(QMqttClient::ClientError error)

hostname : QString

이 속성은 연결할 MQTT 브로커의 호스트 이름을 보유합니다.

setTransport()를 통해 전송을 지정하지 않으면 클라이언트는 지정된 호스트 이름 자체에 대한 소켓 연결을 인스턴스화합니다.

액세스 함수:

QString hostname() const
void setHostname(const QString &hostname)

알림 신호:

void hostnameChanged(QString hostname)

keepAlive : quint16

이 속성은 브로커에 정기적인 핑 메시지가 전송되는 간격을 유지합니다.

브로커에 대한 연결이 설정되면 클라이언트는 브로커에 계속 연결될 수 있음을 전파하기 위해 자주 업데이트를 보내야 합니다. 이러한 업데이트 사이의 간격은 이 속성으로 지정됩니다.

간격은 초 단위로 지정됩니다.

브로커가 유예 기간 내에 응답하지 않으면 연결이 종료됩니다.

액세스 기능:

quint16 keepAlive() const
void setKeepAlive(quint16 keepAlive)

알림 신호:

void keepAliveChanged(quint16 keepAlive)

autoKeepAlive(), requestPing() 및 pingResponseReceived()도 참조하세요 .

password : QString

이 속성에는 브로커에 연결하기 위한 비밀번호가 저장됩니다.

기능에 액세스합니다:

QString password() const
void setPassword(const QString &password)

알림 신호:

void passwordChanged(QString password)

port : quint16

이 속성은 MQTT 브로커에 연결할 포트를 보유합니다.

setTransport()를 통해 전송을 지정하지 않으면 클라이언트는 이 포트 번호를 가진 호스트에 대한 소켓 연결을 인스턴스화합니다.

액세스 기능:

quint16 port() const
void setPort(quint16 port)

알림 신호:

void portChanged(quint16 port)

protocolVersion : ProtocolVersion

이 프로퍼티에는 연결에 사용할 MQTT 표준 버전이 저장됩니다.

클라이언트가 브로커에 연결할 때 사용하는 표준 버전을 지정합니다. 유효한 값은 다음과 같습니다:

  • 3: MQTT 표준 버전 3.1.
  • 4: MQTT 표준 버전 3.1.1, 흔히 MQTT 4라고 합니다.
  • 5: MQTT 표준 5.0.

액세스 기능:

QMqttClient::ProtocolVersion protocolVersion() const
void setProtocolVersion(QMqttClient::ProtocolVersion protocolVersion)

알림 신호:

void protocolVersionChanged(QMqttClient::ProtocolVersion protocolVersion)

state : ClientState

이 프로퍼티는 클라이언트의 현재 상태를 저장합니다.

액세스 함수:

QMqttClient::ClientState state() const
void setState(QMqttClient::ClientState state)

알림 신호:

void stateChanged(QMqttClient::ClientState state)

username : QString

이 속성에는 브로커에 연결하기 위한 사용자 이름이 저장됩니다.

액세스 함수:

QString username() const
void setUsername(const QString &username)

알림 신호:

void usernameChanged(QString username)

willMessage : QByteArray

이 프로퍼티에는 유언장 메시지의 페이로드가 저장됩니다.

함수에 액세스합니다:

QByteArray willMessage() const
void setWillMessage(const QByteArray &willMessage)

알림 신호:

void willMessageChanged(QByteArray willMessage)

willQoS : quint8

이 속성은 유언장 메시지 전송 및 저장을 위한 QoS 수준을 보유합니다.

액세스 기능:

quint8 willQoS() const
void setWillQoS(quint8 willQoS)

알림 신호:

void willQoSChanged(quint8 willQoS)

willRetain : bool

이 속성은 향후 가입자가 수신할 수 있도록 브로커에 유언 메시지를 보관할지 여부를 저장합니다.

액세스 함수:

bool willRetain() const
void setWillRetain(bool willRetain)

알림 신호:

void willRetainChanged(bool willRetain)

willTopic : QString

이 속성은 유언장 토픽을 보유합니다.

액세스 함수를 저장합니다:

QString willTopic() const
void setWillTopic(const QString &willTopic)

알림 신호:

void willTopicChanged(QString willTopic)

멤버 함수 문서

[explicit] QMqttClient::QMqttClient(QObject *parent = nullptr)

지정된 parent 으로 새 MQTT 클라이언트 인스턴스를 생성합니다.

[override virtual noexcept] QMqttClient::~QMqttClient()

MQTT 클라이언트를 삭제합니다. MQTT 클라이언트가 MQTT 브로커에서 아직 연결 해제되지 않은 경우 자동으로 연결이 해제됩니다.

void QMqttClient::authenticate(const QMqttAuthenticationProperties &prop)

인증 요청을 브로커에 전송합니다. prop 인증 요청을 이행하는 데 필요한 정보를 지정합니다.

이 함수는 QMqttClient::authenticationRequested 신호가 전송된 후에만 호출해야 합니다.

참고: 확장 인증은 MQTT 5.0 표준의 일부이며 클라이언트가 MQTT_5_0ProtocolVersion 으로 지정한 경우에만 사용할 수 있습니다.

authenticationRequested() 및 authenticationFinished()도 참조하세요 .

[signal] void QMqttClient::authenticationFinished(const QMqttAuthenticationProperties &p)

이 신호는 확장 인증이 완료된 후 전송됩니다. p 인증 프로세스에 대한 사용 가능한 세부 정보를 지정합니다.

인증 성공 후 QMqttClient::connected 이 전송됩니다.

참고: 확장 인증은 MQTT 5.0 표준의 일부이며 클라이언트가 MQTT_5_0ProtocolVersion 으로 지정한 경우에만 사용할 수 있습니다.

authenticationRequested() 및 authenticate()도 참조하세요 .

[signal] void QMqttClient::authenticationRequested(const QMqttAuthenticationProperties &p)

이 신호는 클라이언트가 QMqttClient::connectToHost 또는 QMqttClient::connectToHostEncrypted 을 호출한 후 연결이 설정되기 전에 전송됩니다. 확장 인증에서 브로커는 QMqttClient::authenticate 을 호출하여 제공해야 하는 추가 세부 정보를 요청할 수 있습니다. p 은 브로커가 제공하는 속성을 지정합니다.

참고: 확장 인증은 MQTT 5.0 표준의 일부이며 클라이언트가 MQTT_5_0ProtocolVersion 으로 지정하는 경우에만 사용할 수 있습니다.

authenticationFinished() 및 authenticate()도 참조하세요 .

[signal] void QMqttClient::brokerSessionRestored()

이 신호는 클라이언트가 cleanSession 속성을 false 으로 설정한 브로커에 성공적으로 연결하고 브로커가 세션을 복원했을 때 발생합니다.

클라이언트가 이전에 동일한 clientId 을 사용하여 연결한 적이 있는 경우 세션을 복원할 수 있습니다.

[invokable] void QMqttClient::connectToHost()

MQTT 브로커에 대한 연결을 시작합니다.

참고: 이 함수는 메타객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하세요.

void QMqttClient::connectToHostEncrypted(const QSslConfiguration &conf)

MQTT 브로커에 대한 암호화된 연결을 시작합니다.

conf 연결에 사용할 SSL 구성을 지정합니다.

[signal] void QMqttClient::connected()

이 신호는 연결이 설정되면 발신됩니다.

QMqttConnectionProperties QMqttClient::connectionProperties() const

클라이언트가 브로커에 요청한 연결 속성을 반환합니다.

참고: QMqttConnectionProperties 는 클라이언트가 MQTT_5_0ProtocolVersion 로 지정한 경우에만 사용할 수 있습니다.

setConnectionProperties()도 참조하세요 .

[invokable] void QMqttClient::disconnectFromHost()

MQTT 브로커와의 연결을 끊습니다.

참고: 이 함수는 메타객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하세요.

[signal] void QMqttClient::disconnected()

이 신호는 연결이 닫혔을 때 발생합니다. disconnectFromHost ()가 호출되거나 브로커가 연결을 끊을 때 연결이 닫힐 수 있습니다.

QMqttLastWillProperties QMqttClient::lastWillProperties() const

마지막 유언장 속성을 반환합니다.

참고: QMqttLastWillProperties 는 클라이언트가 MQTT_5_0ProtocolVersion 로 지정한 경우에만 사용할 수 있습니다.

setLastWillProperties()도 참조하세요 .

[signal] void QMqttClient::messageReceived(const QByteArray &message, const QMqttTopicName &topic = QMqttTopicName())

이 신호는 새 메시지가 수신되면 발신됩니다. 메시지 카테고리는 topic 으로 지정되며 내용은 message 입니다.

[signal] void QMqttClient::messageSent(qint32 id)

publish() 함수를 통해 전송된 메시지가 브로커에 수신되었음을 나타냅니다. idpublish() 에서 반환하는 것과 동일하여 메시지 상태를 추적하는 데 도움이 됩니다.

[signal] void QMqttClient::messageStatusChanged(qint32 id, QMqtt::MessageStatus s, const QMqttMessageStatusProperties &properties)

id s 은 메시지의 새 상태를 지정하고 은 서버에서 제공하는 추가 속성을 지정합니다. properties

[signal] void QMqttClient::pingResponseReceived()

이 신호는 브로커가 requestPing() 호출 또는 keepAlive() 핑 메시지에 응답하고 연결이 여전히 유효할 때 전송됩니다.

[invokable] qint32 QMqttClient::publish(const QMqttTopicName &topic, const QByteArray &message = QByteArray(), quint8 qos = 0, bool retain = false)

지정된 topic 으로 브로커에 message 을 게시합니다. qos 은 메시지 전송에 필요한 QoS 수준을 지정합니다.

retaintrue 으로 설정하면 다른 클라이언트가 연결하여 메시지를 수신할 수 있도록 메시지가 브로커에 유지됩니다.

내부적으로 메시지를 식별하는 데 사용되는 ID를 반환합니다.

참고: 이 함수는 메타 객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하세요.

[invokable] qint32 QMqttClient::publish(const QMqttTopicName &topic, const QMqttPublishProperties &properties, const QByteArray &message = QByteArray(), quint8 qos = 0, bool retain = false)

지정된 propertiestopic 와 함께 message 를 브로커에 게시합니다. qos 는 메시지 전송에 필요한 QoS 수준을 지정합니다.

retaintrue 으로 설정하면 다른 클라이언트가 연결하여 메시지를 수신할 수 있도록 메시지가 브로커에 유지됩니다.

내부적으로 메시지를 식별하는 데 사용되는 ID를 반환합니다.

참고: properties 은 클라이언트가 MQTT_5_0ProtocolVersion 으로 지정한 경우에만 브로커에 전달됩니다.

참고: 이 함수는 메타 객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하세요.

bool QMqttClient::requestPing()

브로커에 핑 메시지를 보내고 응답을 기대합니다.

연결이 활성화되어 있고 autoKeepAlivetrue 인 경우 클라이언트가 이 프로세스를 관리해야 하므로 이 함수를 호출하면 실패합니다.

requestPing() 을 수동으로 사용하려면 연결이 활성화되어 있는 동안 keepAlive 간격 내에 매번 호출해야 합니다.

핑이 성공했는지 확인하려면 pingResponseReceived() 신호에 연결합니다.

핑 요청을 보낼 수 있으면 true 을 반환합니다.

pingResponseReceived(), autoKeepAlive() 및 keepAlive()도 참조하세요 .

QMqttServerConnectionProperties QMqttClient::serverConnectionProperties() const

연결 시도 후 브로커가 반환한 QMqttServerConnectionProperties 을 반환합니다.

이는 QMqttClient::setConnectionProperties 에서 설정한 클라이언트 측 연결 속성이 브로커에 의해 수락되었는지 확인하는 데 사용할 수 있습니다. 또한 연결 시도가 실패한 경우 연결 진단에 사용할 수 있습니다.

참고: QMqttServerConnectionProperties 은 클라이언트가 MQTT_5_0ProtocolVersion 으로 지정한 경우에만 사용할 수 있습니다.

connectionProperties()도 참조하세요 .

void QMqttClient::setConnectionProperties(const QMqttConnectionProperties &prop)

연결 속성을 prop 로 설정합니다. QMqttConnectionProperties 을 사용하여 서버에 특정 기능 집합을 사용하도록 요청할 수 있습니다. 연결 요청 후 QMqttClient::serverConnectionProperties 을 호출하여 서버 응답을 얻을 수 있습니다.

참고: 연결 속성은 MQTT 클라이언트가 Disconnected 상태인 경우에만 설정할 수 있습니다.

참고: QMqttConnectionProperties 은 클라이언트가 MQTT_5_0ProtocolVersion 으로 지정한 경우에만 사용할 수 있습니다.

connectionProperties()도 참조하세요 .

void QMqttClient::setLastWillProperties(const QMqttLastWillProperties &prop)

마지막 유언장 속성을 prop 로 설정합니다. QMqttLastWillProperties 을 사용하면 브로커에 저장된 마지막 유언장 메시지에 대한 추가 기능을 설정할 수 있습니다.

참고: 연결 속성은 MQTT 클라이언트가 Disconnected 상태인 경우에만 설정할 수 있습니다.

참고: QMqttLastWillProperties 은 클라이언트가 MQTT_5_0ProtocolVersion 으로 지정한 경우에만 사용할 수 있습니다.

lastWillProperties()도 참조하세요 .

void QMqttClient::setTransport(QIODevice *device, QMqttClient::TransportType transport)

전송을 device 로 설정합니다. 전송은 소켓 유형이거나 QIODevice 에서 파생될 수 있으며 transport 으로 지정됩니다.

참고: MQTT 클라이언트가 Disconnected 상태인 경우에만 전송을 교환할 수 있습니다.

참고: 클라이언트에 대한 사용자 지정 전송을 설정해도 연결 관리에 대한 책임은 넘겨지지 않습니다. QIODevice 기반 전송의 경우 전송을 열거나 소켓 유형 전송의 경우 QMqttClient::connectToHost()을 호출하기 전에 전송을 연결해야 합니다.

transport()도 참조하세요 .

QMqttSubscription *QMqttClient::subscribe(const QMqttTopicFilter &topic, quint8 qos = 0)

topic 에서 알림을 받도록 새 구독을 추가합니다. qos 매개변수는 보안 메시지가 수신되는 수준을 지정합니다. 사용 가능한 QoS 수준에 대한 자세한 내용은 서비스 품질을 참조하세요.

이 함수는 QMqttSubscription 에 대한 포인터를 반환합니다. 동일한 주제를 두 번 구독하는 경우 반환 값은 동일한 구독 인스턴스를 가리킵니다. MQTT 클라이언트가 구독의 소유자입니다.

QMqttSubscription *QMqttClient::subscribe(const QMqttTopicFilter &topic, const QMqttSubscriptionProperties &properties, quint8 qos = 0)

topic 에서 알림을 수신할 새 구독을 추가합니다. properties 매개변수는 브로커에서 유효성을 검사할 추가 구독 속성을 지정합니다. qos 매개변수는 보안 메시지가 수신되는 수준을 지정합니다. 사용 가능한 QoS 수준에 대한 자세한 내용은 서비스 품질을 참조하세요.

이 함수는 QMqttSubscription 에 대한 포인터를 반환합니다. 동일한 토픽이 두 번 구독된 경우 반환 값은 동일한 구독 인스턴스를 가리킵니다. MQTT 클라이언트가 구독의 소유자입니다.

참고: properties 은 클라이언트가 MQTT_5_0ProtocolVersion 으로 지정하는 경우에만 브로커에 전달됩니다.

QIODevice *QMqttClient::transport() const

브로커와의 통신에 사용된 전송을 반환합니다.

setTransport()도 참조하세요 .

void QMqttClient::unsubscribe(const QMqttTopicFilter &topic)

topic 에서 구독을 취소합니다. subscribe()을 호출하여 구독한 내역에 대해서는 알림이 전송되지 않습니다.

참고: 클라이언트가 구독을 취소하지 않고 브로커와의 연결을 끊으면 브로커는 모든 메시지를 저장하고 다음에 다시 연결할 때 게시합니다.

void QMqttClient::unsubscribe(const QMqttTopicFilter &topic, const QMqttUnsubscriptionProperties &properties)

topic 에서 구독을 취소합니다. subscribe()을 호출하여 구독한 모든 알림은 전송되지 않습니다. properties 는 브로커에 전달할 추가 사용자 속성을 지정합니다.

참고: 클라이언트가 구독을 취소하지 않고 브로커와의 연결을 끊으면 브로커는 모든 메시지를 저장하고 다음에 다시 연결할 때 이를 게시합니다.

참고: properties 은 클라이언트가 MQTT_5_0ProtocolVersion 으로 지정한 경우에만 브로커에 전달됩니다.

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