I messaggi inviati dal server vengono ricevuti nell'evento OnMQTTPublish. Questo evento ha i seguenti parametri:
Topic: è il nome del topic associato a questo messaggio.
Text: è il testo del messaggio.
PublishProperties: se MQTT 5.0, queste sono le proprietà del messaggio pubblicato.
procedure OnMQTTPublish(Connection: TsgcWSConnection; aTopic, aText: string;
PublishProperties: TsgcWSMQTTPublishProperties);
begin
WriteLn('Topic: ' + aTopic + '. Message: ' + aText);
end;
L'evento OnMQTTPublishEx fornisce il payload del messaggio pubblicato in più formati tramite un oggetto TsgcWSMQTTPublishData. Questo evento ha i seguenti parametri:
Topic: è il nome del topic associato a questo messaggio.
Data: contiene il payload del messaggio pubblicato. Ha le seguenti proprietà:
Value: il payload come stringa.
Bytes: il payload non elaborato come TBytes.
Stream: il payload non elaborato come TMemoryStream.
PublishProperties: se MQTT 5.0, queste sono le proprietà del messaggio pubblicato.
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;