【问题标题】:Two paho.mqtt clients subscribing to the same client localy本地订阅同一个客户端的两个 paho.mqtt 客户端
【发布时间】:2016-11-11 13:08:35
【问题描述】:

我正在尝试找出是否可以让两个 paho.mqtt 客户端 (https://eclipse.org/paho/clients/python/docs/) 订阅同一服务器。客户端和服务器都在同一台主机上运行。我的目标是让两个客户端使用不同的凭据订阅同一服务器(在我的例子中是带有 mqtt 插件的 rabbitmq),这样我就可以按虚拟主机对我的有效负载进行排序(不是按主题,因为我无法控制主题)。

我目前的观察是客户端只是不断重新连接,这表明我要么做错了,要么一次只能有一个客户端连接到 MQTT 服务器......

那么问题来了 - 您是否能够运行多个订阅同一服务器的客户端,而所有客户端和服务器都在本地运行?


编辑:

似乎带有 MQTT 插件的 RabbitMQ 允许实现此功能。可以将两个用户配置为可以访问单独的虚拟主机,并且只需这样做,有效负载就会被隔离。我的场景是配置两个客户端,这样我就可以区分谁发送了哪个负载,并且我可以在本地生成镜像客户端来使用相关用户的负载。

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

【问题讨论】:

    标签: python mqtt paho


    【解决方案1】:

    每个客户端都必须有一个唯一的客户端 ID,当新客户端使用相同的客户端 ID 连接时,代理将启动最旧的客户端。除此之外,您可以运行任意数量的客户端,从任何可以到达代理的地方进行连接

    【讨论】:

    • 就是这样,两个客户端都有相同的客户端 ID。再次感谢!您可能会发现有趣的是,如果使用带有 MQTT 插件的 RabbitMQ,您可以按用户 ID 隔离有效负载,因为有效负载属于不同的虚拟主机。所以我实现了我在其他问题中寻找的功能,在你的帮助下,我现在拥有了我需要的一切。再次感谢!
    猜你喜欢
    • 1970-01-01
    • 2012-09-07
    • 2022-10-13
    • 1970-01-01
    • 2017-12-25
    • 2017-12-01
    • 2023-04-03
    • 2022-12-12
    • 2023-01-31
    相关资源
    最近更新 更多