如何使用MQTT实现whatsapp类型信使?

Rah*_*sad 5 instant-messaging mqtt messenger

我想像使用MQTT协议的whatsapp一样实现一个messenger.我应该阅读哪些教程?

我对以下几点感到困惑:

  1. 我应该如何实现消息传递的主题结构?(目前我正在使用/ domainname/phonenumber /(如果手机A要向手机B发送消息,它会向/ domainname/B /发布消息)
  2. 如果客户端B离线并在一段时间后上线,当客户端离线时,它将如何接收发送给他的消息(到主题/域名/ B /)?
  3. 如何实现发送/发送/读取确认?

我知道这些是非常基本的问题,但不幸的是我找不到任何指导初始步骤的资源.

结论:
在与已经在MQTT中实施大规模信使部署的人交谈之后,我得出结论,MQTT应该只使用一个协议.Pub/Sub很适合开始,但您应该拥有一层自己的业务逻辑,以实现灵活性和性能.但是,您可以使用pub/sub树实现大多数基本信使要求,但是您将受限于它,以后将难以扩展.

har*_*llb 5

  1. 主题结构看起来很好,但可能应该有一个ACL,所以客户只能订阅自己的主题.
  2. 只要您没有将"cleansession"选项设置为true,那么代理应该存储并转发发送到客户端订阅的主题的任何消息,然后才能断开连接
  3. MQTT不包含对已发送/已发送/已读通知的支持,您需要自己实现此方法,最简单的方法是每个客户端有2个主题,一个用于接收消息,另一个用于接收通知.每封邮件都应具有可在发送回原始发件人的通知中使用的ID号