2017-02-27 2 views
2

私のJabber Serverには2人のユーザーのAliceとBobがいるとします。 bothとしてサブスクリプションを名簿に追加するには、私は、次の手順を実行する必要があります。XMPP - 募集の購読の説明

  1. アリスはボブへのサブスクリプション要求を送信します。

  2. ボブがリクエストを受信すると、彼はそれを承認します。

  3. ボブもアリスの存在に興味があるかもしれないので、彼は彼女にサブスクライブします。

  4. そして、アリスはボブの要求を承認する必要があります。

しかし

今検討し、ボブはすなわち、彼が未登録であるとアリスは彼女の名簿に彼を追加しようとすると、サーバー上ではなかったです。

  1. アリスがボブに加入要求を送信します。続いて

    が行われます手順です。

  2. ボブが登録されていないため、リクエストを受信しませんでした。

  3. アリス - >ボブサブスクリプションセットをNoneと設定します。

  4. 処理が終了しました。

今、ボブは自分自身を登録しました。アリスはボブが自分自身を登録したことを知り、subscriptionリクエストを再び送信する必要がありますORボブは彼を彼/彼女の名簿に追加したすべてのユーザーにどのように通知しますか?どちらがXEP/Ejabberd Moduleこれを処理しますか?

私たちはWhatsappをデバッグしました。この場合、Bobは自分のロスターに彼を追加したすべてのユーザーに通知を送ります。

+0

ここに進む方法を理解できましたか?私は上記と同じ実験を行いました。そして、ボブにアリスのサブスクリプションは、ボブが登録した後でさえ、保留中の "out"にとどまっています(ボブは彼の連絡先にアリスを持っていません)。 –

+0

私はそれを達成した方法を本当に覚えていません。私の考えを思い出して、私はあなたに戻ってきます。 – PythonEnthusiast

答えて

0

よく見るように、いくつかのシナリオとしてどのタイプの構成を採用しますかは、環境を設定する際に考慮に入れます。このようなことが判明するいくつかの方法があります。

  1. 問題のサーバーは、インターネットのDNSサーバ上のクライアントを相互接続における重要な役割を果たしているような状況では、Xmppクライアントを接続する際に重要な役割を果たしているので、ボブはアリスが送ら時に登録されていなかった場合要求に応じて、彼はすべての相互接続サービスを記録するキャッシングサービスを持っているかもしれません。彼が登録され、彼はネットワーク上の同輩を自動検出するXmppサービスを持っています。発見プロセスに関わる何らかのタイプのユーザ設定。彼のサービスはキャッシュからのすべての過去の要求を引き出し、時間制限に応じてアリスの要求を検索し、次に応答することができます。これは哲学的な視点からのものです。しかし、開発者の場合は、上記のすべてのシナリオのプラグインを記述することができます。さらに技術的なパラメータが必要な場合は、Bobsサーバーに書きたいディスカバリメソッドのタイプ、Bobsネットワークに入れたいキャッシングエンジンのタイプ、Jabberサーバーなどにプラグインする方法など、それについて話すことができます。これはちょうど私自身の2セントでした。この状況は、パケットコレクタを持ち、ログイン時にオフラインメッセージを取得する場合と似ていますが、この場合はJabberサーバを包括し、パケットコレクタはサーバに接続するキャッシングサービスエンジンになります。

  2. LANの場合は、ホストレコードやすべての相互接続の問題を検索するほど難しいかもしれませんが、私ができることは、特定のサブネットを使用して動作することがあります。