Xmpp 获得积极的对话并加入其中

Xmpp 获得积极的对话并加入其中,xmpp,strophe,Xmpp,Strophe,因此,我正在构建我的第一个strophe聊天客户端。 我已经成功地完成了一个发送和接收消息的简单客户端。现在,当我收到一条消息时,我正试图打开一个新的浏览器窗口。新浏览器窗口将附加到对话并继续 但我一辈子都不知道如何正确地做到这一点。 我认为这个过程是这样的: 1在connect上设置并存储jid、rid和sid。 2当我收到消息时,我将jid、rid和sid传递到single.html 3通过single.html我附加并尝试继续或开始对话 但是我不知所措。它给了我无效的SID,并就此结束。

因此,我正在构建我的第一个strophe聊天客户端。 我已经成功地完成了一个发送和接收消息的简单客户端。现在,当我收到一条消息时,我正试图打开一个新的浏览器窗口。新浏览器窗口将附加到对话并继续

但我一辈子都不知道如何正确地做到这一点。 我认为这个过程是这样的: 1在connect上设置并存储jid、rid和sid。 2当我收到消息时,我将jid、rid和sid传递到single.html 3通过single.html我附加并尝试继续或开始对话

但是我不知所措。它给了我无效的SID,并就此结束。 我甚至真的不确定这是否是实现我目标的正确方式

这是我对single.html sid、rid和jid的连接,由于我的阅读非常重要,因此rid的+1已成功传递

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传递。我将继续努力,并在我的数字中添加整数=感谢您的大力帮助。