首页 > 解决方案 > 如何将我的主题路由到 mqtt 代理中的客户端

问题描述

我有四个 mqtt 客户端,其中两个连接在一起,另外两个连接在一起。例如,客户端 A 在主题 /AtoB 上向客户端 B 发布数据,客户端 X 在主题 /XtoY 上向客户端 Y 发布数据。现在我将在我的 PC 上的 mqtt 代理上路由这两个主题。我应该如何设置我的经纪人?而且我还为 mqtt 客户端找到了 mqtt 库,但我没有找到(可能吗?)库来编写 mqtt 代理。谢谢

标签: mqttmosquitto

解决方案


MQTT 是一种发布/订阅协议,因此旨在将发布者与订阅者完全分离。

这意味着发布客户端不需要关心可以订阅主题的(或多少)客户端(消除对“路由”的任何需求)。

在您给出的示例中,客户端 A 发布到主题AtoB* 客户端 B 将订阅该主题。同样,客户端 X 发布到主题XtoY,客户端 Y 订阅。如果您 PC 上的应用程序想要接收相同的消息,那么它也会订阅这两个主题AtoBXtoY接收相同的消息。

您关于图书馆的问题的第二个问题部分。通常不需要使用库来创建代理,只需使用现有代理之一即可。如果你真的真的需要做一些非标准的事情,那么有像mosca这样的库来实现自定义代理。

*主题不需要以 a 开头,/这样做会增加一层额外的复杂性,最好避免。


推荐阅读