MQTT Broker作为客户和经纪人

时间:2015-08-20 14:40:57

标签: client mqtt broker

我设置了常规云服务器,我有一个移动应用程序通过HTTP请求与服务器通信。我还有一个Wifi设备,我需要发送消息,我想通过MQTT这样做。当移动应用程序发生某些变化时,我希望云服务器通过MQTT发布主题,以便wifi设备可以接收消息。经纪人也可以成为客户吗?我理解错了吗?

1 个答案:

答案 0 :(得分:0)

我会根据自己的理解尝试回答;对不起,如果我误解了你的问题。

我理解它的方式,你将有三个/四个软件:

  1. HTTP Server / MQTT Broker(这两个服务可以在 相同的申请或单独的申请)
  2. 移动应用程序(通过HTTP通信)
  3. Wifi设备(使用MQTT协议进行通信)
  4. 情景:

    1. Wifi设备将打开与MQTT Broker的连接并订阅定义明确的主题。如果您不能丢失消息,则可以使用QoS为1的订阅。客户不会收到在添加订阅之前发布的任何消息。如果您的wifi连接不稳定(再次,如果您不想丢失任何消息),使用非干净会话打开MQTT连接可能也很有用。
    2. 在特定事件发生后,与HTTP服务器通信的移动应用程序将向其发送信息。
    3. 收到信息后,HTTP服务器将向MQTT Broker发送有关预定义主题的MQTT消息(与Wifi设备订阅匹配的主题)。
    4. MQTT代理将消息从HTTP服务器中继到Wifi设备(以及具有匹配订阅的任何其他MQTT客户端)。
    5. 我希望这澄清一下,如果有什么不清楚,请告诉我。

      "经纪人也可以成为客户吗?"事实并非如此,虽然我确定某些特定经纪人会根据特殊事件向特殊订阅发布消息,但它仅充当经纪人。它接收来自发布者的消息,并使用订阅将消息转发给任何对该消息感兴趣的客户端(如果没有订阅者(客户端)对该消息感兴趣,则该消息可能会被代理删除。)