2013-06-11 2 views
0

Я использую MQTT для POC, мне нужен идентификатор ссылки для сообщений, которые я опубликовал в этой теме. Существует MqttDeliveryToken, но он не дает номер маркера в качестве его имени.MQTT можно вернуть номер маркера после публикации

Он дает isdeliveryComplete and getMessage, а не ссылочный номер любого типа.

В основном мне нужен номер ссылки. Например, когда мы поднимаем билет в системах билетов, мы получаем номер билета для нашей будущей справки. Что-то в этом роде.

+0

Для чего вы собираетесь использовать этот номер? Если вашему приложению требуется уникальный идентификатор для каждого сообщения, вы несете ответственность за добавление его в тело сообщения – hardillb

ответ

1

Я предполагаю, что вы используете библиотеку Eclipse Paho в качестве клиентской библиотеки MQTT. Неясно, какой вы хотите, какой номер вы хотите. Если вы хотите использовать идентификатор сообщения MQTT (который доступен только для качества обслуживания 1 и 2 битв) в качестве ссылочного номера для таких приложений, как ваша система продажи билетов, это, вероятно, очень плохая идея, потому что они не являются глобально уникальными и реализация зависит от клиента.

Похоже, вы хотите отправить ссылочный номер в полезной нагрузке сообщения MQTT. Просто добавьте его в сообщение PUBLISH при публикации и извлечении его на своем подписчике.

Если ваши вопросы направлены на то, как использовать Paho, есть некоторые репозитории Github, которые показывают, как его использовать. Вот старый из меня (с более старой версией Paho, не совместимый с 100% API) https://github.com/dobermai/paho-publish-subscribe

+0

идентификатор сообщения является последовательным и не уникальным. В activeMQ я использовал ссылочный номер. Таким образом, в MQTT нет ссылки на этот вид. И мне придется генерировать уникальный номер, возможно, временную метку эпохи. ? – cherit

+0

Да, я использую eclipse paho lib – cherit

+0

@ Dominik, в другом контексте. Согласно вашему коду на https://github.com/dobermai/android-mqtt-push, соединение mqtt и обратный вызов просты и работают. Но Похо рекомендует чтобы использовать его служебную банку (org.eclipse.paho.android.service) вместе с mqttv3 jar как https://eclipse.org/paho/clients/android/. Я видел служебную банку в github, и она выглядит сложной. На самом деле я хочу использовать соединение Mqtt для приложения, которое уже имеет службу с несколькими и сложными методами. Мне нужна ваша помощь, чтобы понять: «Должен ли я идти с простым методом, упомянутым в вашем коде, или использовать другую службу, если нужно только qos = 0?» – ajay