【问题标题】:Strophe with openfire determine if server is down使用 openfire 的 Strophe 确定服务器是否已关闭
【发布时间】:2014-01-11 15:21:07
【问题描述】:

我在 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 而不是连接失败。 我如何确定链接是否已关闭。

请帮忙!!:-(

【问题讨论】:

    标签: java javascript spring openfire strophe


    【解决方案1】:

    您使用的是什么版本的 Strophe?

    在 1.0.2 中,您可能可以通过修改 _doDisconnect() 使其无条件调用 this._changeConnectStatus(Strophe.Status.DISCONNECTED, null) 来解决问题。

    Strophe 1.1.1 好像是做那个盒子的(只是看代码,没试过)。

    【讨论】:

      猜你喜欢
      • 2015-01-21
      • 1970-01-01
      • 1970-01-01
      • 2021-04-09
      • 2011-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多