MessageIn Event
Fired when an incoming message has been received and/or fully acknowledged.
Syntax
class MQTTMessageInEventParams { public: int PacketId(); const QString &Topic(); int QOS(); const QByteArray &Message(); bool Retained(); bool Duplicate(); int EventRetVal(); void SetEventRetVal(int iRetVal); };
// To handle, connect one or more slots to this signal. void MessageIn(MQTTMessageInEventParams *e);
// Or, subclass MQTT and override this emitter function. virtual int FireMessageIn(MQTTMessageInEventParams *e) {...}
Remarks
The MessageIn event fires once for each incoming message either immediately after it is received (QoS 0), or after it has been fully acknowledged (QoS 1 and 2).
- PacketId: The message packet Id. This will always be -1 if QOS is 0.
- Topic: The message's topic string.
- QOS: The message's QoS level.
- Message: The message data.
- Retained: Whether or not this message was received as a result of subscribing to a topic.
- Duplicate: Whether or not the server has indicated that this message is a duplicate of another message sent previously.
Refer to MessageAck for more information about QoS 1 and 2 message processing steps.
// MessageIn event handler.
mqtt1.OnMessageIn += (s, e) => {
Console.WriteLine(
"Received message from topic '"
+ e.Topic +
"' with QoS "
+ e.QOS +
":"
);
Console.WriteLine(e.Message);
};