用户离线时的消息传递

时间:2008-10-29 17:17:25

标签: java xmpp openfire

我有一个OpenFire插件,可以使用

创建并向用户发送消息
XMPPServer.getInstance().getMessageRouter().route(message)

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

我的目标是仅在用户在线时传递消息,否则将失败或路由到位桶。

2 个答案:

答案 0 :(得分:2)

这完全归功于Openfire配置。在Openfire管理控制台中,转到服务器 - >服务器设置 - >离线消息。有商店,弹跳和放跌的选项。

  • 商店:发送消息时 用户重新上线。
  • Drop:只需丢弃该消息。
  • 退回:丢弃并通过回复消息通知发件人。

答案 1 :(得分:1)

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

  标题 - 该消息提供警报,通知或其他不期望回复的信息(例如,新闻标题,体育更新,近实时市场数据和联合内容)。由于不期望对消息的回复,通常接收客户端将在接口中呈现类型“标题”的消息,该消息适当地将消息与独立消息,聊天消息或群聊消息区分开(例如,通过不向接收者提供能够回复)。 接收服务器应该将消息传递给所有收件人的可用资源。

今天的大多数服务器都会默默地将头条新闻留给离线用户,并在用户上线时提供最高优先级的资源。