5

最初にこの質問から: Asmack/openfire ユーザーをグループチャットルームに永久に保持するにはどうすればよいですか

MUC を使用してユーザーをグループに永続的に維持することはできないことを読みました。ユーザーは自動的にグループを離れ、再びオンラインになった後に再び参加できます。その概念は、ここで尋ねられたような IRC のようなものです -> http:/ /community.igniterealtime.org/thread/48020 .

次に、pubsubの使用について読んだstackoverflowの質問から、pubsubについていくつかの調査を行いました。私が得たのは、pubsubは、ユーザーがオフラインであってもユーザーをグループに保持できるということですが、メッセージフローは1つに似ていますパブリッシャーからサブスクライバーへの方向 (読み取り専用)。

グループ チャット アプリケーションを作成したい場合、pubsub を使用して、すべてのメンバーをパブリッシャーとサブスクライバーの両方に設定できますか? または、別の解決策がありますか?または、pubsub と MUC に関する私の理解が間違っていますか? 私の目標は、whatsapp や blackberry メッセンジャー グループのようなグループ チャットを作成することです。

ありがとう。

4

1 に答える 1

3

Openfire の次のコードを変更することで、MUC のグループ チャットでユーザーを永続的にすることができます。

File : src/java/org/jivesoftware/openfire/muc/spi/LocalMUCUser.java

change line 547-550:

// TODO Consider that different nodes can be creating and processing this presence at the same time (when 

remote node went down)

removeRole(group);

role.getChatRoom().leaveRoom(role);

TO:

// TODO Consider that different nodes can be creating and processing this presence at the same time (when 

remote node went down)

// TODO Dont remove user from group when they go offline.

//removeRole(group);

//role.getChatRoom().leaveRoom(role);
于 2015-07-23T19:22:03.453 に答える