現在、Android用のXMPPクライアントを実行するためにaSmackライブラリを使用しています。
私が疑問に思っていることの1つは、2人のユーザーがそれぞれ他の人とチャットを作成するとどうなるかということです。たとえば、最初のクライアントは次のことを行います。
connection.getChatManager().createChat("[email protected]", new MessageListener() {
@Override
public void processMessage(Chat arg0, Message arg1) {
//.....
}
});
そして、2番目のクライアントは次のことを行います。
connection.getChatManager().createChat("[email protected]", new MessageListener() {
@Override
public void processMessage(Chat arg0, Message arg1) {
//.....
}
});
サーバー上に2つのチャットインスタンスがあり、メッセージリスナーは別のチャットから送信されるため、メッセージを取得しませんか?
または、サーバーがチャットスレッドを自動的に1つに同期して、メッセージリスナーが正しく機能し、着信メッセージを傍受できるようにしますか?
それが最初のシナリオである場合、チャットを1つにマージするために、その問題を解決するためにどのような解決策がありますか?
編集:私は簡単な例でそれを試したところ、それが最初のケースのようですが、それは私が何か間違ったことをしたためかどうかはわかりません。
XMPPサーバーは、例で作成した2つのチャットスレッドを認識しないため、それらを同期できません。これは仕様によるものです。XMPPチャットは、同じスレッドIDを持つメッセージスタンザのセットです。
RFC 61215.2.1を読むことをお勧めします。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加