TsgcWSPClient_MQTT메서드 › Subscribe

Subscribe 메서드

요청된 QoS에서 클라이언트를 하나 이상의 토픽 필터에 구독시킵니다.

Overloads

오버로드 1

구문

function Subscribe(const aTopic: String; aQoS: TmqttQoS = mtqsAtMostOnce; const aSubscribeProperties: TsgcWSMQTTSubscribe_Properties = nil) : Word;

Parameters

NameType설명
aTopicconst String구독할 토픽 필터입니다. 단일 레벨(+) 및 다중 레벨(#) 와일드카드가 지원됩니다.
aQoSTmqttQoS일치하는 메시지에 대해 브로커가 전달해야 하는 최대 QoS입니다. 기본값은 mtqsAtMostOnce입니다.
aSubscribePropertiesconst TsgcWSMQTTSubscribe_PropertiesSubscription Identifier, No Local 플래그, Retain As Published 또는 Retain Handling과 같은 선택적 MQTT 5.0 속성입니다. 기본값을 사용하려면 nil을 전달하십시오.

반환 값

SUBSCRIBE 패킷의 패킷 식별자입니다. OnMQTTSubscribe를 통해 보고된 부여와 상관시켜 브로커가 실제로 할당한 QoS를 확인하십시오. (Word)

설명

단일 topic 오버로드로, 가장 일반적인 형태입니다. 들어오는 메시지는 OnMQTTPublish(또는 MQTT 5.0의 경우 OnMQTTPublishEx)를 통해 나타납니다. 브로커는 요청된 수준을 지원하지 않거나 ACL 규칙이 적용되는 경우 QoS를 낮출 수 있습니다.

예제

MQTT.Subscribe('sensors/+/temperature', mtqsAtLeastOnce);

Overload 2

구문

function Subscribe(aTopics: TsgcWSTopics): Word;

Parameters

NameType설명
aTopicsTsgcWSTopics개별 QoS 설정이 있는 토픽 필터 모음으로, 단일 SUBSCRIBE 패킷으로 전송됩니다.

반환 값

배치된 SUBSCRIBE 패킷의 패킷 식별자. OnMQTTSubscribe를 통해 받은 모든 grant를 연관시키는 데 사용됩니다. (Word)

설명

한 번의 왕복으로 여러 필터를 구독하는 배치 오버로드입니다. 네트워크 잡음을 줄이고 브로커가 단일 SUBACK으로 전체 이유 코드 목록을 반환할 수 있도록, 단일 토픽 호출 루프보다 이것을 선호하십시오.

예제

oTopics := TsgcWSTopics.Create;
try
  oTopics.Add('sensors/#', mtqsAtLeastOnce);
  oTopics.Add('alerts/#', mtqsExactlyOnce);
  MQTT.Subscribe(oTopics);
finally
  oTopics.Free;
end;

메서드로 돌아가기