TsgcWSPClient_sgc › 메서드 › Subscribe
클라이언트를 사용자 정의 채널에 구독합니다.
procedure Subscribe(const aChannel: String; const aGuid: String = '');
| Name | Type | 설명 |
|---|---|---|
aChannel | const String | 구독할 채널의 이름입니다. |
aGuid | const String | 대상 서버 측 sgc 프로토콜 인스턴스의 선택적 Guid. 기본값을 사용하려면 비워 두십시오. |
주어진 채널에 대한 subscribe 요청을 보냅니다. 서버가 구독을 확인하면 OnSubscription 이벤트가 발생합니다. 구독 후, 채널에 게시된 메시지는 OnEvent를 통해 전달됩니다.
aChannel은 서버에 의해 정확한 문자열로 일치됩니다. topic1/#이나 topic1/+와 같은 MQTT 스타일 와일드카드는 해석되지 않으며, 채널 이름의 리터럴 문자로 취급됩니다. 따라서 topic1/#에 구독한 클라이언트는 topic1/sensorA에 게시된 메시지를 수신하지 않습니다.
한 번의 호출로 여러 채널을 구독하려면 쉼표로 구분하십시오:
oProtocol.Subscribe('topic1/a,topic1/b,topic1/c');
쉼표는 목록 구분자이므로 채널 이름의 일부가 될 수 없습니다. 동일한 쉼표 구분 구문이 UnSubscribe와 Broadcast 및 Publish의 채널, 제외, 포함 인수에도 적용됩니다.
서버는 선택적으로 정확한 일치 대신 마스크 매칭(*과 ?, MQTT 구문이 아님)을 사용하여 채널 인수를 확장할 수 있습니다. TsgcWSPServer_sgc.UseMatchesMask를 참고하십시오. # 및 + 의미 체계를 갖는 실제 MQTT 토픽 필터가 필요하면 대신 TsgcWSPClient_MQTT를 사용하십시오.
oProtocol.Subscribe('news');
// multiple channels in one call
oProtocol.Subscribe('topic1/a,topic1/b,topic1/c');