10

strophe.jsライブラリを使用して、ブラウザーで XMPP メッセージを送受信します。それは正常に機能しますが、連絡先リストに既にあるユーザーのみ-名簿です。

名簿に誰か (住所を知っている人) を追加する必要があります。strophe.js を使用してこれを達成するにはどうすればよいですか? Gmail は私の名簿にない人へのメッセージの送信を拒否するので、これは私にとって重要です。サブスクリプションを取得したいのですが、メッセージを送受信できるようにするためです。

4

1 に答える 1

12

送信<presence to="friend@example.com" type="subscribe"/>:

conn.send($pres({ to: "friend@example.com", type: "subscribe" }));

あなたの友人が承諾すると、あなたにもサブスクライブを送信する必要があります。これは、「subscribe」タイプの着信プレゼンスの Strophe ハンドラーを設定することで処理できます。

function on_subscription_request(stanza)
{
    if(stanza.getAttribute("type") == "subscribe" && is_friend(stanza.getAttribute("from")))
    {
        // Send a 'subscribed' notification back to accept the incoming
        // subscription request
        conn.send($pres({ to: "friend@example.com", type: "subscribed" }));
    }
    return true;
}
conn.addHandler(on_subscription_request, null, "presence", "subscribe");
于 2012-03-01T14:33:29.037 に答える