gpt4 book ai didi

javascript - 使用 strophe.js 获取 SID 和 RID

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:05:06 25 4
gpt4 key购买 nike

使用 strophejs 连接到 XMPP 服务器时如何获取 SID 和 RID?我使用 Ejabbered 作为 XMPP 服务器。

这是我的代码

        $(document).bind('connect', function (ev, data) {

var conn = new Strophe.Connection('http://localhost:5280/http-bind');

conn.connect(data.jid, data.password, function (status) {
if (status === Strophe.Status.CONNECTED) {

$(document).trigger('connected');
} else if (status === Strophe.Status.DISCONNECTED) {
$(document).trigger('disconnected');
}
});

Gab.connection = conn;
});

$(document).bind('connected', function () {
---------------------------------
---------------------------------

console.log(Gab.connection.jid); // Got jid
console.log(Gab.connection.rid); // Value is undefined
console.log(Gab.connection.sid); // value is undefined
});

我试过上面的代码。但是得到 undefined 作为值(value)。

我已经检查过这个问题, XMPP: retrieving BOSH Session ID and RID

但在评论中,结果是“未定义”!

最佳答案

我通过向 connection.xmlOutput 添加函数从我的 strophe 连接获取 RID 和 SID。这提供了在发送之前查看传出节的能力。这是一个例子:

      connection.xmlOutput = function (e) {
if (IS_CONNECTED) {

LAST_USED_RID = $(e).attr('rid');
LAST_USED_SID = $(e).attr('sid');
log(' XMLOUTPUT INFO - OUTGOING RID=' + LAST_USED_RID + ' [SID=' + LAST_USED_SID + ']');
//log(' XMLOUTPUT INFO - OUTGOING XML = \n'+e.outerHTML);
//set some variables to keep track of our rid and sid
}
};

您还可以从连接的 ._proto 访问 RID 和 SID 属性,例如:

connection._proto.rid

这可能是相关的:https://github.com/jcbrand/converse.js/issues/180

关于javascript - 使用 strophe.js 获取 SID 和 RID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25240874/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com