UNSUBSCRIBE - 이름 지정된 토픽 Unsubscribe

UNSUBSCRIBE 메시지는 클라이언트가 이름 지정된 토픽에서 unsubscribe할 브로커로 송신합니다.

고정 헤더

다음 표에서는 고정된 헤더 형식의 예를 보여줍니다.

비트 7 6 5 4 3 2 1 0
바이트 1 메시지 유형 (10) DUP 플래그 QoS 레벨 RETAIN
  1 0 1 0 0 0 1 x
바이트 2 나머지 길이
QoS 레벨
QoS 레벨은 1로서 여러 개의 unsubscribe 요청을 수신확인합니다. 해당 UNSUBACK 메시지는 메시지 ID로 식별됩니다. PUBLISH 메시지와 동일한 방법으로 재시도를 핸들링합니다.
DUP 플래그
이 예에서는 DUP 플래그는 0으로 설정되어 메시지가 맨 처음으로 송신되고 있음을 표시합니다.

지정된 시간 종료 기간 후에도 SUBACK 메시지가 도달하지 않아 이 메시지가 재송신 중인 경우에는, 메시지가 이미 수신된 메시지와 중복될 수 있음을 브로커에 표시하도록 DUP 비트가 설정됩니다.

RETAIN 플래그
사용되지 않음
나머지 길이
페이로드(payload)의 길이입니다. 다중 바이트 필드일 수 있습니다.

가변 헤더

UNSUBSCRIBE 메시지에 QoS 레벨 1이 있으므로 가변 헤더에는 메시지 ID가 들어 있습니다.

일반적으로 프로토콜 라이브러리가 메시지 ID를 생성하여 하나의 리턴 핸들로서 이 ID를 publish 응용프로그램에 다시 전달합니다. 이는 단일 클라이언트에서 실행 중인 여러 응용프로그램 또는 여러 publish하는 스레드가 중복된 메시지 ID를 생성하지 못하게 합니다.

메시지 ID 0 (0x0000)은 올바르지 않은 메시지 ID로 예약되어 있으므로 사용해서는 안됩니다. 메시지 ID는 16비트의 사인이 없는 정수로서, 일반적으로는 하나의 메시지에서 그 다음 메시지로 정확히 1씩 증가하지만, 반드시 그렇게 할 필요는 없습니다. 2바이트의 메시지 ID 순서는 먼저 MSB가 오고 그 다음에 LSB(Big Endian)가 옵니다.

다음 표에서는 메시지 ID가 10인 가변 헤더의 형식 예를 보여줍니다.

  설명 7 6 5 4 3 2 1 0
메시지 ID
바이트 1 메시지 ID MSB (0) 0 0 0 0 0 0 0 0
바이트 2 메시지 ID LSB (10) 0 0 0 0 1 0 1 0

페이로드(Payload)

클라이언트는 페이로드(payload)에 이름 지정된 토픽 목록을 unsubscribe합니다. 문자열은 UTF 인코딩되어 연속적으로 채워집니다. UNSUBSCRIBE 메시지의 토픽 이름은 압축되어 있지 않습니다. 다음 표에서는 페이로드(payload)의 예를 보여줍니다.

토픽 이름 "a/b"
토픽 이름 "c/d"

다음 표에서는 이 페이로드(payload)의 형식을 보여줍니다.

  설명 7 6 5 4 3 2 1 0
토픽 이름
바이트 1 길이 MSB (0) 0 0 0 0 0 0 0 0
바이트 2 길이 LSB (3) 0 0 0 0 0 0 1 1
바이트 3 'a' (0x61) 0 1 1 0 0 0 0 1
바이트 4 '/' (0x2F) 0 0 1 0 1 1 1 1
바이트 5 'b' (0x62) 0 1 1 0 0 0 1 0
토픽 이름
바이트 6 길이 MSB (0) 0 0 0 0 0 0 0 0
바이트 7 길이 LSB (3) 0 0 0 0 0 0 1 1
바이트 8 'c' (0x63) 0 1 1 0 0 0 1 1
바이트 9 '/' (0x2F) 0 0 1 0 1 1 1 1
바이트 10 'd' (0x64) 0 1 1 0 0 1 0 0

응답

브로커는 UNSUBSCRIBE 메시지에 대한 응답으로 클라이언트에 UNSUBACK을 송신합니다.

주의사항 | 등록상표 | 다운로드 | 라이브러리 | 지원 | 피드백
Copyright IBM Corporation 1999, 2006 마지막 갱신 날짜: 2006/08/21
ac11030_