サーバーから送信されたメッセージは OnMQTTPublish イベントで受信されます。このイベントには以下のパラメーターがあります:
Topic:このメッセージに関連付けられたトピックの名前。
Text: メッセージのテキスト。
PublishProperties: MQTT 5.0 の場合、パブリッシュされたメッセージのプロパティです。
procedure OnMQTTPublish(Connection: TsgcWSConnection; aTopic, aText: string;
PublishProperties: TsgcWSMQTTPublishProperties);
begin
WriteLn('Topic: ' + aTopic + '. Message: ' + aText);
end;
OnMQTTPublishEx イベントは、TsgcWSMQTTPublishData オブジェクトを通じて複数の形式で公開されたメッセージペイロードを提供します。このイベントには以下のパラメータがあります。
Topic:このメッセージに関連付けられたトピックの名前。
Data: パブリッシュされたメッセージのペイロードを含みます。以下のプロパティがあります:
Value: 文字列としてのペイロード。
Bytes: TBytes としての生のペイロード。
Stream: TMemoryStream としての生のペイロード。
PublishProperties: MQTT 5.0 の場合、パブリッシュされたメッセージのプロパティです。
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;