Я ожидаю, что mosquitto_sub должен получить последнее значение, отправленное из mosquitto_pub.
Но кажется, что это не так, подписка всегда имеет значение до последнего обновления.
Вот мои шаги теста:
Сначала я запускаю mosquitto_sub:
mosquitto_sub: получено значение 5 (последнее известное, все в порядке)
Затем используйте mosquitto_pub для отправки значения и проверки стороны mosquitto_sub:
mosquitto_pub: отправить значение 1
mosquitto_sub: все еще имеет значение 5
mosquitto_pub: отправить значение 2
mosquitto_sub: получил значение 1
mosquitto_pub: отправить значение 3
mosquitto_sub: получено значение 2
mosquitto_pub: отправить значение 4
mosquitto_sub: получил значение 3
Вот команды для воспроизведения этой проблемы: (не забудьте изменить YOUR_API_KEY/YOUR_FEED_ID/YOUR_DATASTREAM на свои настройки)
Сторона подписки:
$ mosquitto_sub -h api.cosm.com -t YOUR_API_KEY/v2/feeds/YOUR_FEED_ID/datastreams/YOUR_DATASTREAM.csv
Сторона публикации:
$ for i in 0 1 2 3 4 5 6 7 8 9 10; do mosquitto_pub -h api.cosm.com -t YOUR_API_KEY/v2/feeds/YOUR_FEED_ID/datastreams/YOUR_DATASTREAM.csv -m "$i"; sleep 1; done
Очевидно, что сторона подписки не показывает 10 0 1 2 3 4 5 6 7 8 9 10.
Ниже то, что я получил в своем тесте:
2013-05-09T00:40:20.009034Z,10
2013-05-09T00:40:20.009034Z,10
2013-05-09T00:47:52.062114Z,1
2013-05-09T00:47:54.325130Z,2
2013-05-09T00:47:54.325130Z,2
2013-05-09T00:47:58.398895Z,4
2013-05-09T00:47:58.398895Z,4
2013-05-09T00:48:02.680777Z,6
2013-05-09T00:48:04.721811Z,7
2013-05-09T00:48:06.813412Z,8
2013-05-09T00:48:06.813412Z,8
2013-05-09T00:48:11.278083Z,10