Sunucu tarafından gönderilen mesajlar OnMQTTPublish olayında alınır. Bu olayın aşağıdaki parametreleri vardır:
Topic: bu mesajla ilişkili konunun adıdır.
Text: mesajın metnidir.
PublishProperties: MQTT 5.0 ise, bunlar yayınlanan mesajın özellikleridir.
procedure OnMQTTPublish(Connection: TsgcWSConnection; aTopic, aText: string;
PublishProperties: TsgcWSMQTTPublishProperties);
begin
WriteLn('Topic: ' + aTopic + '. Message: ' + aText);
end;
OnMQTTPublishEx olayı, yayınlanan mesaj yükünü bir TsgcWSMQTTPublishData nesnesi aracılığıyla birden fazla biçimde sağlar. Bu olayın aşağıdaki parametreleri vardır:
Topic: bu mesajla ilişkili konunun adıdır.
Data: yayınlanan mesajın yükünü içerir. Aşağıdaki özelliklere sahiptir:
Value: bir dize olarak yük.
Bytes: TBytes olarak ham yük.
Stream: TMemoryStream olarak ham yük.
PublishProperties: MQTT 5.0 ise, bunlar yayınlanan mesajın özellikleridir.
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;