Los mensajes enviados por el servidor se reciben en el evento OnMQTTPublish. Este evento tiene los siguientes parámetros:
Topic: es el nombre del tema asociado a este mensaje.
Text: es el texto del mensaje.
PublishProperties: si es MQTT 5.0, estas son las propiedades del mensaje publicado.
procedure OnMQTTPublish(Connection: TsgcWSConnection; aTopic, aText: string;
PublishProperties: TsgcWSMQTTPublishProperties);
begin
WriteLn('Topic: ' + aTopic + '. Message: ' + aText);
end;
El evento OnMQTTPublishEx proporciona el payload del mensaje publicado en múltiples formatos a través de un objeto TsgcWSMQTTPublishData. Este evento tiene los siguientes parámetros:
Topic: es el nombre del tema asociado a este mensaje.
Data: contiene el payload del mensaje publicado. Tiene las siguientes propiedades:
Value: la carga útil como cadena de texto.
Bytes: el payload sin procesar como TBytes.
Stream: el payload sin procesar como TMemoryStream.
PublishProperties: si es MQTT 5.0, estas son las propiedades del mensaje publicado.
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;