1

私のチャットアプリケーションでは、友達を追加する必要があるときに、このプロセスに従う必要があります -

A->B ist と仮定します: A がサブスクライブ パケットを B に送信します (サーバー エントリは NONE サブスクリプションを示します) iind - B は​​サブスクライブ パケットを A に送信します (サーバー エントリは - TO/FROM になります) iiird - B は​​再びサブスクライブ パケットを A に送信します( server entry TO/FROM ) ivth - A はサブスクライブされたパケットを B に送信します ( server entry BOTH )

関係するユーザーに通知が送信されるたびに、対応するパケットが送信されることを許可した後。

こんな風にしたいな~

A が B に友達リクエストを送信すると (B への通知が送信され、サーバー エントリは TO/FROM である必要があります)、B が受け入れるかどうかは B 次第です。彼がそれを受け入れると、すぐにサーバー エントリは BOTH になります。

サブスクリプション パケットを 2 セットだけ送信して、同じことを達成する方法を教えてください。

ありがとう

4

2 に答える 2

2

私の知る限り、これはクライアント/ライブラリレベルでのみ実行できます。確認されたサブスクリプションリクエストごとに、別のサブスクリプションリクエストが最初のリクエスタに送り返されるようにクライアントを実装する必要があります。

ただし、「友人」から JID に送信される 4 つのステップ/パケットは常にあります。

于 2012-11-09T10:20:39.620 に答える
1

これは適切な仕様に従って実装されるため、変更しようとしても意味がありません。

これは Smack で定義された動作ではなく、XMPP 仕様で定義された動作です。

于 2012-11-09T14:53:16.727 に答える