Strophe XMPP Процесс подключения не удалось - PullRequest
3 голосов
/ 13 сентября 2011

Я могу создать XMPP-соединение при загрузке страницы. Однако всякий раз, когда я перехожу на другие страницы, я хочу использовать это же соединение для удаления повторяющихся уведомлений в клиенте. Я использовал следующий код.

$(document).bind('connect', function (ev, data) {
    var jid = $.jStorage.get('JID', null);
    var sid = $.jStorage.get('SID', null);
    var rid = $.jStorage.get('RID', null);
    if ((jid != null) && (sid != null) && (rid != null)) {
        var conn = new Strophe.Connection("http://localhost:5280/xmpp-httpbind");
        conn.attach(jid, sid, rid, function () {
            alert('Connection attach success.');
            Gab.connection = conn;
        });
    }
    else {
        var conn = new Strophe.Connection("http://localhost:5280/xmpp-httpbind");
        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;
    }
});

И в разгрузке:

$(window).unload(function () {
    if (Gab.connection != null) {
        Gab.connection.pause();
        $.jStorage.set('JID', Gab.connection.jid);
        $.jStorage.set('SID', Gab.connection.sid);
        $.jStorage.set('RID', Gab.connection.rid);
    } else {
        $.jStorage.flush();
    }
//    Gab.connection = null;
    alert('paused/disconnected');
})

Он подключается к соединению, однако, как только подключается, он говорит (POST http://localhost:5280/xmpp-httpbind 404 Not Found 36ms) в консоли Firebug. Есть идеи?

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 15 августа 2014

Не стоит доверять разгрузке.Вместо этого сохраняйте / обновляйте свой RID на каждом диске с сервера xmpp.Убедитесь, что ваш RID увеличивается при каждом вызове.

0 голосов
/ 04 апреля 2014

Обязательно проверьте текст сообщения. Некоторые XMPP-серверы возвращают HTTP 404 при завершении.

...