Vom Server gesendete Nachrichten werden im Ereignis OnMQTTPublish empfangen. Dieses Ereignis hat die folgenden Parameter:
Topic: ist der Name des dieser Nachricht zugeordneten Topics.
Text: ist der Text der Nachricht.
PublishProperties: bei MQTT 5.0 sind dies die Eigenschaften der veröffentlichten Nachricht.
procedure OnMQTTPublish(Connection: TsgcWSConnection; aTopic, aText: string;
PublishProperties: TsgcWSMQTTPublishProperties);
begin
WriteLn('Topic: ' + aTopic + '. Message: ' + aText);
end;
Das Ereignis OnMQTTPublishEx stellt die veröffentlichte Nachrichtennutzlast in mehreren Formaten über ein TsgcWSMQTTPublishData-Objekt bereit. Dieses Ereignis hat die folgenden Parameter:
Topic: ist der Name des dieser Nachricht zugeordneten Topics.
Data: enthält die Payload der veröffentlichten Nachricht. Sie hat die folgenden Eigenschaften:
Value: die Nutzlast als Zeichenfolge.
Bytes: die rohe Nutzlast als TBytes.
Stream: die rohe Nutzlast als TMemoryStream.
PublishProperties: bei MQTT 5.0 sind dies die Eigenschaften der veröffentlichten Nachricht.
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;