Мои сообщения понижаются MQTT-брокером, и что?

Насколько я понимаю, если вы subscribed на topic с определенным QoS, то подписчик увидит только сообщения под этим topic, предоставленные MQTT брокером с уровнем QoS, равным или ниже того QoS, который указан при публикации темы.

Иными словами, клиент, который подпишется, например, на topic = news и с QoS = 1, то сможет видеть любые published сообщения под topic = news сQoS = 1 OR 0

Я subscribed в topic = news с QoS = 0, этот topic был опубликован с QoS = 2, когда я подключился к broker, я получил опубликованное сообщение, но с его QoS = 0, а во второй раз я опубликовал ту же тему, но с QoS = 1, и когда я подписался к нему с QoS = 0, я получил сообщение, но с QoS = 0.

Итак, поскольку каким бы ни был уровень QoS, я получаю сообщение, но с его QoS "пониженным", и что? Каков риск? Кто-нибудь может объяснить?!!


person LetsamrIt    schedule 13.11.2014    source источник
comment
Какого брокера вы используете? Но я думаю, что вы поняли неправильно, сообщения не будут фильтроваться, если QOS не совпадают. Брокер всегда будет пытаться доставить сообщение, QOS просто контролирует, насколько сильно брокер пытается доставить сообщение. IIRC QOS абонента является доминирующим (при условии, что сообщение доходит до брокера)   -  person hardillb    schedule 13.11.2014
comment
привет, спасибо за ответ. я использую москита   -  person LetsamrIt    schedule 13.11.2014


Ответы (1)


Когда вы оформляете подписку, вы говорите брокеру: «Максимальное качество обслуживания, при котором я хочу получать сообщения, равно X». Это означает, что если сообщение приходит по теме, на которую вы подписаны, с более высоким QoS, оно будет понижено только для вас. Другие клиенты не затрагиваются. Надеюсь, приведенная ниже таблица прояснит это для вас.

Subscription QoS | Message QoS | Delivered QoS
=================|=============|==============
       0         |       0     |       0
       0         |       1     |       0
       0         |       2     |       0
                 |             |
       1         |       0     |       0
       1         |       1     |       1
       1         |       2     |       1
                 |             |
       2         |       0     |       0
       2         |       1     |       1
       2         |       2     |       2
person ralight    schedule 13.11.2014
comment
Спасибо за ответ. и таблица ясна и точно показывает, что я получил, когда проводил тестирование, чтобы понять mqtt rotoco и его спецификации. когда мое сообщение было понижено, есть ли какой-либо недостаток? - person LetsamrIt; 14.11.2014
comment
Ну, не совсем - вы заявили, что вас интересует именно этот уровень подписки. Если более низкое качество обслуживания является для вас проблемой, вам следует подписаться на более высоком уровне. - person ralight; 17.11.2014