質問

使用しているユーザーにメッセージを作成して配信するOpenFire用のプラグインがあります

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

知りたいのは、ユーザーがオンラインでない場合にそのメッセージがどうなるかということです。

私の目標は、ユーザーがオンラインの場合にのみメッセージを配信し、それ以外の場合は失敗するか、ビットバケットにルーティングすることです。

役に立ちましたか?

解決

すべてOpenfireの設定にかかっています。 Openfire管理コンソールで、サーバーに移動->サーバー設定->オフラインメッセージ。保存、バウンス、ドロップのオプションがあります。

  • 保存:メッセージを配信します ユーザーがオンラインに戻ります。
  • ドロップ:メッセージを破棄します。
  • バウンス:返信メッセージを送信者に破棄して通知します。

他のヒント

これらのメッセージを他のメッセージの配信に影響を与えずにオフラインにしたくない場合は、type = 'headline'を使用することもできます。見出しはそれほど明確に指定されていませんが、 RFC 3921bisセクション5.2.2 のコメント:

  

ヘッドライン-メッセージは、アラート、通知、または返信が期待されないその他の情報を提供します(ニュースヘッドライン、スポーツの更新、ほぼリアルタイムの市場データ、シンジケートされたコンテンツなど)。メッセージへの返信は期待されていないため、通常、受信クライアントはタイプ「headline」のメッセージを表示します。スタンドアロンメッセージ、チャットメッセージ、またはグループチャットメッセージからメッセージを適切に区別するインターフェイスで(受信者に返信する機能を提供しないなど)。 受信サーバーは、受信者の利用可能なすべてのリソースにメッセージを配信する必要があります。

今日のほとんどのサーバーは、オフラインのユーザーに静かに見出しをドロップし、ユーザーがオンラインの場合は最も優先度の高いリソースに配信します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top