mqtt云端使用p2p消息推送到终端是支持的吗?

问题1:mqtt云端使用p2p消息推送到终端是支持的吗?
问题2:终端建立连接时,一个主题都不订阅,云端发送p2p 消息到终端,也是支持的吗?

展开
收起
十一0204 2023-07-19 20:13:54 343 分享 版权
2 条回答
写回答
取消 提交回答
  • 问题1:MQTT 在云端使用 P2P(点对点)消息推送到终端是支持的。通过 MQTT 协议,云端可以充当 MQTT 代理(或服务器),将消息发送给特定的终端设备。这样,云端可以与多个终端设备建立连接,并向它们发送 P2P 消息。

    在 MQTT 中,你可以使用 PUBLISH 消息类型将消息从云端发送到指定的终端设备。要发送 P2P 消息,只需在发布消息时指定目标设备的客户端 ID (Client ID)作为主题(Topic),然后将消息发送到该主题。这样,只有订阅了相应主题的终端设备才会接收到该消息。

    问题2:终端建立连接时没有订阅任何主题也是支持的。MQTT 协议中,终端设备可以根据自身需求选择订阅感兴趣的主题,而不是在连接时强制订阅任何主题。

    如果一个终端设备建立了 MQTT 连接但没有订阅任何主题,云端仍然可以向该终端设备发送 P2P 消息。在发送消息时,只需将目标终端设备的客户端 ID 作为主题,并将消息发布到该主题上即可。该终端设备在接收到消息后,可以处理该消息或者选择订阅相关主题以接收其他消息。

    2023-07-28 13:18:48
    赞同 展开评论
  • 意中人就是我呀!

    回答1:可以的。
    回答2:也可以的。目前用官方sdk,p2p是不需要订阅的。此回答整理至钉群“阿里云 微消息队列 MQTT产品咨询群”。

    2023-07-19 23:13:31
    赞同 展开评论

涵盖 RocketMQ、Kafka、RabbitMQ、MQTT、轻量消息队列(原MNS) 的消息队列产品体系,全系列产品 Serverless 化。RocketMQ 中文社区:https://rocketmq-learning.com/

还有其他疑问?
咨询AI助理