【问题标题】:How do paho mqtt broker knows which publisher has disconnected?paho mqtt 代理如何知道哪个发布者断开了连接?
【发布时间】:2019-08-07 09:44:57
【问题描述】:

我有一个发布者,它在“/ex/topicA/”下发送一条消息,另一个发布者在“/ex/topicB/”下发送一条消息给蚊子经纪人。

订阅者不断从“/ex/#”下的代理订阅。

现在,由于网络连接不佳,主题为“/ex/topicA”的发布者没有向 mosquitto 代理发送数据。

现在,paho mqtt 订阅者如何知道哪个发布者没有向 mosquitto 代理发送数据?

【问题讨论】:

  • 主题名称的开头不需要斜杠

标签: mqtt mosquitto paho


【解决方案1】:

在基本的协议级别上他们没有。

Pub/Sub 消息传递的部分意义在于,它将产生数据的用户与使用数据的用户完全分离。

订阅者订阅了一个主题,可能永远不会在该主题上发布消息,他们不应该关心哪个发布者发送该消息。同样,发布者向某个主题发布消息,可能有 0 个客户端订阅了该主题。

如果您真的需要通知客户在线/离线,那么有一些技术可以做到这一点。通常的版本是让客户端在连接后立即将保留的消息发布到特定主题。例如client/a/online1。他们应该在连接详细信息中包含最后遗嘱和遗嘱消息,以便在意外断开连接时将0 发布到该主题。他们还会在指示关闭之前手动发布0

附:虽然在规范中有效,但主题不应以 / 开头,因为这会在开始时在主题树中添加一个空条目并破坏共享订阅等高级功能。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多