代码之家  ›  专栏  ›  技术社区  ›  Robin

用户脱机时的邮件传递

  •  0
  • Robin  · 技术社区  · 16 年前

    XMPPServer.getInstance().getMessageRouter().route(message)
    

    我想知道的是,如果用户不在线,该消息会发生什么情况。

    我的目标是只有当用户在线时才发送消息,否则将失败或路由到位桶。

    2 回复  |  直到 16 年前
        1
  •  2
  •   Chase Seibert    16 年前

    一切都取决于OpenFire配置。在OpenFire管理控制台中,转到服务器->服务器设置->脱机消息。有商店,反弹和下降的选择。

    • 存储:当 用户重新联机。
    • 丢弃:丢弃信息。
    • 退回:丢弃并用退回信息通知寄件人。
        2
  •  1
  •   Joe Hildebrand    16 年前

    另一种方法是使用type='headline',如果您只希望这些消息在不影响其他消息传递的情况下不脱机。标题没有很好的说明,但是 RFC 3921bis Section 5.2.2 说:

    标题——该消息提供了一个警告、通知或其他不需要回复的信息(例如,新闻标题、体育更新、近乎实时的市场数据和联合内容)。由于不需要回复消息,通常情况下,接收客户端会在一个界面中显示“headline”类型的消息,该界面会适当地将消息与独立消息、聊天消息或群聊消息区分开来(例如,不向收件人提供回复能力)。 接收服务器应将邮件传递到收件人的所有可用资源。

    今天的大多数服务器只会悄悄地向离线用户发布标题,并在用户在线的情况下提供最高优先级的资源。