TsgcWSPClient_sgc메서드 › Subscribe

Subscribe 메서드

클라이언트를 사용자 정의 채널에 구독합니다.

구문

procedure Subscribe(const aChannel: String; const aGuid: String = '');

Parameters

NameType설명
aChannelconst String구독할 채널의 이름입니다.
aGuidconst String대상 서버 측 sgc 프로토콜 인스턴스의 선택적 Guid. 기본값을 사용하려면 비워 두십시오.

설명

주어진 채널에 대한 subscribe 요청을 보냅니다. 서버가 구독을 확인하면 OnSubscription 이벤트가 발생합니다. 구독 후, 채널에 게시된 메시지는 OnEvent를 통해 전달됩니다.

aChannel은 서버에 의해 정확한 문자열로 일치됩니다. topic1/#이나 topic1/+와 같은 MQTT 스타일 와일드카드는 해석되지 않으며, 채널 이름의 리터럴 문자로 취급됩니다. 따라서 topic1/#에 구독한 클라이언트는 topic1/sensorA에 게시된 메시지를 수신하지 않습니다.

한 번의 호출로 여러 채널을 구독하려면 쉼표로 구분하십시오:

oProtocol.Subscribe('topic1/a,topic1/b,topic1/c');

쉼표는 목록 구분자이므로 채널 이름의 일부가 될 수 없습니다. 동일한 쉼표 구분 구문이 UnSubscribeBroadcastPublish의 채널, 제외, 포함 인수에도 적용됩니다.

서버는 선택적으로 정확한 일치 대신 마스크 매칭(*?, MQTT 구문이 아님)을 사용하여 채널 인수를 확장할 수 있습니다. TsgcWSPServer_sgc.UseMatchesMask를 참고하십시오. #+ 의미 체계를 갖는 실제 MQTT 토픽 필터가 필요하면 대신 TsgcWSPClient_MQTT를 사용하십시오.

예제

oProtocol.Subscribe('news');

// multiple channels in one call
oProtocol.Subscribe('topic1/a,topic1/b,topic1/c');

메서드로 돌아가기