我希望 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