Les messages envoyés par le serveur sont reçus dans l'événement OnMQTTPublish. Cet événement possède les paramètres suivants :
Topic : est le nom du topic associé à ce message.
Text : est le texte du message.
PublishProperties : en MQTT 5.0, ce sont les propriétés du message publié.
procedure OnMQTTPublish(Connection: TsgcWSConnection; aTopic, aText: string;
PublishProperties: TsgcWSMQTTPublishProperties);
begin
WriteLn('Topic: ' + aTopic + '. Message: ' + aText);
end;
L'événement OnMQTTPublishEx fournit la charge utile du message publié dans plusieurs formats via un objet TsgcWSMQTTPublishData. Cet événement possède les paramètres suivants :
Topic : est le nom du topic associé à ce message.
Data : contient la charge utile du message publié. Il possède les propriétés suivantes :
Value : la charge utile sous forme de chaîne.
Bytes : la charge utile brute sous forme de TBytes.
Stream : la charge utile brute sous forme de TMemoryStream.
PublishProperties : en MQTT 5.0, ce sont les propriétés du message publié.
procedure OnMQTTPublishEx(Connection: TsgcWSConnection; aTopic: string;
aData: TsgcWSMQTTPublishData; PublishProperties: TsgcWSMQTTPublishProperties);
begin
// read as string
WriteLn('Topic: ' + aTopic + '. Message: ' + aData.Value);
// read as bytes
WriteLn('Bytes Length: ' + IntToStr(Length(aData.Bytes)));
// read as stream
WriteLn('Stream Size: ' + IntToStr(aData.Stream.Size));
end;