As mensagens enviadas pelo servidor são recebidas no evento OnMQTTPublish. Este evento tem os seguintes parâmetros:
Topic: é o nome do tópico associado a esta mensagem.
Text: é o texto da mensagem.
PublishProperties: se MQTT 5.0, estas são as propriedades da mensagem publicada.
procedure OnMQTTPublish(Connection: TsgcWSConnection; aTopic, aText: string;
PublishProperties: TsgcWSMQTTPublishProperties);
begin
WriteLn('Topic: ' + aTopic + '. Message: ' + aText);
end;
O evento OnMQTTPublishEx fornece o payload da mensagem publicada em múltiplos formatos por meio de um objeto TsgcWSMQTTPublishData. Este evento tem os seguintes parâmetros:
Topic: é o nome do tópico associado a esta mensagem.
Data: contém o payload da mensagem publicada. Ela tem as seguintes propriedades:
Value: o payload como uma string.
Bytes: o payload bruto como TBytes.
Stream: o payload bruto como um TMemoryStream.
PublishProperties: se MQTT 5.0, estas são as propriedades da mensagem publicada.
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;