2013-06-11 3 views
0

MQTT를 POC에 사용하고 있는데, 필자가 주제에 게시 한 메시지의 참조 ID가 필요합니다. MqttDeliveryToken이 있지만 토큰 번호를 이름으로 제공하지 않습니다.MQTT는 발행 후 토큰 번호를 되 찾을 수 있습니다.

이것은 isdeliveryComplete and getMessage이 아니며 모든 참조 번호가 아닙니다.

기본적으로 나는 참조 번호가 필요합니다. 예를 들면 : 티켓 예매 시스템에서 티켓을 발행 할 때, 우리는 나중에 참조 할 티켓 번호를 얻습니다. 그 종류의 것.

+0

숫자는 무엇을 사용할 예정입니까? 응용 프로그램에 각 메시지의 고유 ID가 필요한 경우이 메시지 본문에 메시지를 추가하는 것은 사용자의 책임입니다. – hardillb

답변

1

Eclipse Paho 라이브러리를 MQTT 클라이언트 라이브러리로 사용한다고 가정합니다. 원하는 번호의 종류를 원하는 것이 명확하지 않습니다. 발급 시스템과 같은 애플리케이션의 참조 번호로 MQTT 메시지 ID (Quality of Service 1 및 2 btw에서만 사용 가능)를 사용하려는 경우 이는 전 세계적으로 고유하지 않기 때문에 매우 바람직하지 않습니다. 고객별로 다릅니다.

MQTT 메시지의 페이로드에 참조 번호를 보내고 싶습니다. 구독자에게 게시하고 추출 할 때 PUBLISH 메시지에 추가하기 만하면됩니다.

질문이있는 경우 Paho를 사용하는 방법을 알아 보려면 사용 방법을 보여주는 Github 리포지토리가 있습니다. 여기 내 나이가 들었어. (이전 버전의 Paho와 호환 됨, 100 % API와 호환되지 않음) https://github.com/dobermai/paho-publish-subscribe

+0

메시지 ID는 순차적이며 고유하지 않습니다. activeMQ에서는 참조 번호를 얻곤했습니다. 따라서 MQTT에는 그러한 종류의 참조가 없습니다. 그리고 고유 번호, 아마도 시대 별 시간 기록을 생성해야합니다. ? – cherit

+0

예 이클립스 paho lib – cherit

+0

@Dominik을 다른 컨텍스트에서 사용하고 있습니다. https://github.com/dobermai/android-mqtt-push에서 코드를 작성하면 mqtt 연결 및 콜백이 간단하고 작동합니다.하지만 Poho는 그것의 서비스 jar (org.eclipse.paho.android.service)와 함께 mqttv3 jar를 https://eclipse.org/paho/clients/android/로 사용했습니다. 나는 github에서 서비스 jar를 보았고 복잡 해 보입니다. 사실 여러 개의 복잡한 메소드를 가진 서비스를 이미 가지고있는 애플리케이션을 위해 Mqtt 연결을 사용하고 싶다. "귀하의 코드에 언급 된 간단한 방법으로 가야합니까? 아니면 qos = 0 만 필요하면 다른 서비스를 사용해야합니까?" – ajay