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

标签 javascript angularjs mqtt

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

现在客户正在接收他发送给代理的消息,因为他订阅了这个主题。但是收到的消息是没有用的,因为值是一样的。处理此问题的最佳方法是什么?

最佳答案

如果您发现订阅的 channel 与发布的 channel 相同,您可能可以对主题结构做一些事情来避免这种情况。例如,如果您遵循本文中建议的语义 MQTT 主题命名:http://tinkerman.cat/mqtt-topic-naming-convention/你会发现很多这类问题都会消失。如果您是温度传感器,您关心的是发布您的温度,而不是订阅它。

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

关于javascript - 发布和订阅同一主题的 mqtt 最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37104741/

相关文章:

javascript - $location.search() 与外部函数一起使用重置整个 $scope。如何避免呢?

javascript - 进行切换以向具有特定类的所有元素添加/删除类

javascript - 按字母顺序对 php/html 表单中的下拉值进行排序?

javascript - 如何将逗号分隔元素的动态列表传递到 jQuery 插件选项中

javascript - 如何在 angular-ui-grid 上自定义导出网格菜单?

apache-kafka - IoT - 多个 Kafka 生产者向同一主题发布消息

javascript - 如何传递数组并在 React Lifecycle 中访问它

javascript - Angular 为什么不更新值

protocols - AllJoyn 与 MQTT - 有什么区别?

python - 套接字错误 : Errno 111 Connection Refused