我使用strophe.js库在浏览器中发送和接收XMPP消息。它工作正常,但仅限于我已经在我的联系人列表中的用户 - 名单。
我需要在我的名册中添加某人(我知道的地址)。我如何使用strophe.js实现这一目标?这对我很重要,因为gmail拒绝向我名单中没有的人发送消息。我想订阅:两者都可以接收和发送消息。
答案 0 :(得分:12)
发送<presence to="friend@example.com" type="subscribe"/>
:
conn.send($pres({ to: "friend@example.com", type: "subscribe" }));
当你的朋友接受时,他们也应该发送订阅给你,你可以通过设置一个Strophe处理程序来处理传入的状态&#34;订阅&#34;:
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");