繁体   English   中英

mqtt发布和订阅同一主题的最佳实践

[英]mqtt best practice for publish and subscribe to same topic

我已经编写了angularjs应用程序。 用户可以在其中输入备注的表格。 该应用程序使用特定的mqtt主题,例如“ app / form / notes”。 此应用程序中的paho js客户端发布并订阅相同的主题。 如果用户在键入内容,则将发生onchange事件并将新值发布到主题。

现在,客户端已收到他发送给代理的消息,因为他已订阅该主题。 但是接收到的消息是无用的,因为值是相同的。 解决此问题的最佳方法是什么?

如果发现您正在订阅发布的相同频道,则可以对主题结构进行某些操作,以免出现这种情况。 例如,如果您遵循本文中建议的语义MQTT主题命名: http : //tinkerman.cat/mqtt-topic-naming-convention/,您会发现很多此类问题都消失了。 如果您是温度传感器,则需要发布而不是订阅温度。

如果您已经在语义上被命名,并且您有一个闲聊的话题,很多玩家正在发布和订阅该话题,那么一些经纪人会自动将发布者添加到MQTT消息中,如果没有,则将其添加到MQTT消息中。有效载荷。 显然,这很容易欺骗,因此不要依赖于任何敏感交易的发布者身份都是正确的。

在消息中包含一个客户端ID,因此,当消息到达时,可以轻松地将其标识为起源于本地,并且可以忽略。

例如

{
  'source': 'client1',
  'payload': 'asdfghjklqwertyuiop...'
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM