我有四个mqtt客户端,其中两个将连接在一起,另外两个则连接在一起。例如,客户端A在主题/ AtoB上向客户端B发布数据,客户端X在主题/ XtoY上向客户端Y发布数据。 现在,我将在PC上的mqtt代理上路由这两个主题。 我应该如何设置经纪人?而且我还找到了mqtt客户端的mqtt库,但是我没有找到(可以吗?)库来编写mqtt代理。 谢谢
答案 0 :(得分:1)
MQTT是一种发布/订阅协议,因此旨在使发布者与订阅者完全脱钩。
这意味着发布客户端不需要关心可以订阅哪些主题(或多少)的客户端(无需进行“路由”)。
在您提供的示例中,客户端A发布到主题AtoB
*客户端B将订阅该主题。同样,客户端X发布到主题XtoY
,客户端Y订阅。如果您PC上的某个应用希望接收相同的消息,则它还将同时订阅主题AtoB
和XtoY
,并且会接收相同的消息。
关于库的问题的第二个问题部分。通常,无需使用库来创建代理,只需使用现有的代理之一即可。如果您真的真的需要做一些不标准的事情,那么可以使用mosca之类的库来实现自定义代理。
*主题不必以/
开头,这样做可以避免额外增加一层复杂性。