2016-11-11 110 views
0

我试图找出是否有两个订阅同一服务器的paho.mqtt客户端(https://eclipse.org/paho/clients/python/docs/)。客户端和服务器都在同一台主机上运行。我的目标是让两个客户端以不同的凭证订阅同一个服务器(在我的例子中是使用mqtt插件的rabbitmq),所以我可以通过虚拟主机(而不是主题,因为我无法控制主题)对我的有效负载进行分类。订阅同一客户端的两个paho.mqtt客户端本地化

我当时的看法是,客户端只保留重新连接这将表明我现在不是做错了什么,或者只能有连接在同一时间的MQTT服务器一个客户端...

所以这里是一个问题 - 你是否能够运行多个客户端订阅到所有客户端和服务器在本地运行的服务器?


编辑:

它似乎用的RabbitMQ MQTT插件可以实现这一功能。人们可以配置两个用户访问单独的虚拟主机,并通过这种有效载荷分离。我的方案是配置两个客户端,以便我可以区分谁发送了哪个有效内容,并且我可以派生镜像客户端来消费相关用户的有效内容。

非常感谢@hardillb谁帮助了这个问题和相关的问题。

回答

2

每个客户端都必须有唯一的客户端ID,当新客户端连接到相同的客户端ID时,代理将启动最老的客户端。除此之外,您可以运行尽可能多的客户端,因为您希望从可以到达代理商的任何地方进行连接。

+0

就是这样,两个客户端都有相同的客户端ID。再次感谢! 您可能会发现有趣的是,如果将RabbitMQ与MQTT插件一起使用,则可以通过用户标识分隔有效载荷,因为有效载荷属于不同的虚拟主机。所以我实现了我在其他问题中寻找的功能,并且在您的帮助下,我现在拥有了我需要的一切。再次感谢! – Greg0ry