2016-08-22 3 views
0

발신자가 주제에 대한 메시지를 보내는 시나리오가 있습니다. 그러나 이전에 전혀 연결되지 않았던 클라이언트가 있고 동일한 주제에 연결하고 구독합니다. 새로 연결된 고객을 위해 이전에 해당 주제에 있던 모든 메시지를 어떻게받을 수 있습니까? Mqtt Android의 메시지

내가 cleanSession을 사용 = 거짓 아무것도

내가 잉여금 메시지 = true를 사용 일어나지 않습니다. 그런 다음 마지막 메시지 만 수신됩니다.

답변

0

짧은 대답은 할 수 없습니다.

브로커는 이미 세션이있는 클라이언트 (cleanSession = false로 최소 한 번 이상 로그온 한)의 메시지 만 대기시킵니다.

보유 된 메시지는 마지막 메시지 만 해당 주제로 보냅니다.

당신은 다음 데이터베이스에 저장해야합니다 설명하고 다른 메커니즘 (예 : HTTP)

0

브로커 스토어를 통해 그들을 요청처럼 역사적 메시지를 원하는 경우 마지막 유지 메시지와 그에 해당하는 QoS를 이야기. 보관 된 메시지의 주제와 일치하는 주제 패턴을 구독하는 각 클라이언트는 가입 후 바로 메시지를 받게됩니다.

각 주제에 대해 하나의 보존 된 메시지 만 브로커에 저장됩니다. 따라서 보존 된 메시지를 모두 가져올 수 없습니다.

관련 문제