Xmpp 获得积极的对话并加入其中
因此,我正在构建我的第一个strophe聊天客户端。 我已经成功地完成了一个发送和接收消息的简单客户端。现在,当我收到一条消息时,我正试图打开一个新的浏览器窗口。新浏览器窗口将附加到对话并继续 但我一辈子都不知道如何正确地做到这一点。 我认为这个过程是这样的: 1在connect上设置并存储jid、rid和sid。 2当我收到消息时,我将jid、rid和sid传递到single.html 3通过single.html我附加并尝试继续或开始对话 但是我不知所措。它给了我无效的SID,并就此结束。 我甚至真的不确定这是否是实现我目标的正确方式 这是我对single.html sid、rid和jid的连接,由于我的阅读非常重要,因此rid的+1已成功传递Xmpp 获得积极的对话并加入其中,xmpp,strophe,Xmpp,Strophe,因此,我正在构建我的第一个strophe聊天客户端。 我已经成功地完成了一个发送和接收消息的简单客户端。现在,当我收到一条消息时,我正试图打开一个新的浏览器窗口。新浏览器窗口将附加到对话并继续 但我一辈子都不知道如何正确地做到这一点。 我认为这个过程是这样的: 1在connect上设置并存储jid、rid和sid。 2当我收到消息时,我将jid、rid和sid传递到single.html 3通过single.html我附加并尝试继续或开始对话 但是我不知所措。它给了我无效的SID,并就此结束。
var BOSH_JID = QueryString.boshjid;
var BOSH_SID = QueryString.boshsid;
var BOSH_RID = QueryString.boshrid+1;
function onConnect(status)
{
if (status == Strophe.Status.CONNECTING) {
console.log('Strophe is connecting.');
} else if (status == Strophe.Status.CONNFAIL) {
console.log('Strophe failed to connect.');
$('#connect').get(0).value = 'connect';
} else if (status == Strophe.Status.DISCONNECTING) {
console.log('Strophe is disconnecting.');
} else if (status == Strophe.Status.DISCONNECTED) {
console.log('Strophe is disconnected.');
$('#connect').get(0).value = 'connect';
} else if (status == Strophe.Status.CONNECTED) {
console.log("connected to session");
//log('Strophe is connected.');
connection.send($pres());
connection.addHandler(onMessage, null, "message", null, null, null);
//connection.disconnect();
}
}
$(document).ready(function () {
connection = new Strophe.Connection(BOSH_SERVICE);
connection.rawInput = rawInput;
connection.rawOutput = rawOutput;
//connection.connect(jid,password,onConnect);
connection.attach(BOSH_JID, BOSH_SID, BOSH_RID, onConnect);
//connection.disconnect();
});
1.您需要添加Strophe.Status.ATTACHED来处理附件。2.sid是什么样子的?您能否验证它是否与未进行url编码的原始sid相同?3.在进行数学运算之前,将字符串转换为ints parseIntQueryString.boshrid是一个好习惯。谢谢,你完全正确!我对strophe的文档有点迷茫,所以status.attached完全从我身边溜走了。小岛屿发展中国家是正确的,但我注意到一个问题与jid im传递。我将继续努力,并在我的数字中添加整数=感谢您的大力帮助。