经纪人的邮件是否没有加盖时间戳?

时间:2017-03-22 14:44:32

标签: java mqtt iot paho

我正在玩物联网项目,到目前为止,我可以使用我在网络上找到的免费经纪人在客户之间共享数据......

我的使用案例是一个温度传感器,它将保留的msg发布到主题 room / temp

由于保留了msg, client_2 即将发布,订阅该主题并获取 client_1 之前发布的临时值。

现在问我的问题:

我需要 Client_2 以及该消息何时发布,我的意思是我想知道多少秒后才能获得该信息..

我正在使用Paho-Eclipse作为jar并在回调here

messageArrived(java.lang.String topic, MqttMessage message)

与此无关

为什么呢? 我怎么能?

谢谢! :)

2 个答案:

答案 0 :(得分:1)

MQTT是一种有意识的轻量级协议,这意味着消息头中不包含任何不需要的信息。

时间戳不是传递信息的必填字段,因此不包括在内。

如果要包含时间戳,则必须自己将其编码到消息有效内容中。

答案 1 :(得分:1)

您是将温度传感器数据作为JSON数据或XML发送还是仅发送纯文本?

如果您使用的是JSON,那么您可以这样做:

{"ts":1451649600512, "values":{"key1":"value1", "key2":"value2"}}

或XML,你可以这样做:

<?xml version="1.0" encoding="UTF-8"?>
<Temperature>
  <TS>1451649600512</TS>
  <Values>
    <key1>value1</key1>
    <key2>value2</key2>
  </Values>
</Temperature>