Strophe with openfire确定服务器是否已关闭

时间:2013-12-23 11:53:15

标签: java javascript spring openfire strophe

我在openFire服务器上使用strophe.js。 使用过像这样的openConnection。

openConnection: function () {
    //alert("Called.....");
    if (OFConnect.connection != null) return;
    var conn = new Strophe.Connection(OFConnect.xmppHttpBindUrl);
    OFConnect.connection = conn;
    //OFConnect.services = toResource;
    conn.connect(OFConnect.userName + '@' + OFConnect.openfireDomainURL + '/' + OFConnect.classId, OFConnect.password, function (status) {
        alert(status);
        if (status === Strophe.Status.CONNECTED) {
            jQuery(document).trigger('connected');
        } else if (status === Strophe.Status.DISCONNECTED) {
            jQuery(document).trigger('disconnected');
        } else if (status === Strophe.Status.CONNFAIL) {
            alert("XMPP Connection Failed.......");
        } else if (status === Strophe.Status.AUTHENTICATING) {
            alert("XMPP AUTHENTICATING.......");
        } else if (status === Strophe.Status.AUTHFAIL) {
            alert("XMPP AUTHENTICATING Failed......");
        } else if (status === Strophe.Status.ERROR) {
            alert("XMPP ERRROR......");
        } else if (status === Strophe.Status.ATTACHED) {
            jQuery(document).trigger('attached');
        } else if (status === Strophe.Status.CONNFAIL) {}
    });
}
};

现在问题是有些情况下OPENFIRE SERVER IS DOWN。如果服务器无法访问/关闭/错误链接,我需要执行特定活动。 在这种情况下,上述代码的问题是它返回Strophe.Status.CONNECTING而不是连接失败。 如何确定链接是否已关闭。

请帮助!!: - (

1 个答案:

答案 0 :(得分:2)

你使用什么版本的Strophe?

在1.0.2中,您可以通过修改_doDisconnect()来解决这个问题,以便无条件地调用this._changeConnectStatus(Strophe.Status.DISCONNECTED, null)

Strophe 1.1.1似乎做了那个框(只看了代码,没试过)。

相关问题