1

当我使用 stropher.js 连接到 XMPP 服务器时,连接状态为 1 = 当前正在建立连接

这种状态有什么问题。

连接代码如下。

它返回我连接状态。

$(document).ready(function () {
$('#login_dialog').dialog({
    autoOpen: true,
    draggable: false,
    modal: true,
    title: 'Connect to XMPP',
    buttons: {
        "Connect": function () {
            $(document).trigger('connect', {
                jid: $('#jid').val(),
                password: $('#password').val()
            });                
            $('#password').val('');
            $(this).dialog('close');
        }
    }
});
});

$(document).bind('connect', function (ev, data) {
    var conn = new Strophe.Connection("http://127.0.0.1:5280/http-bind");
    //"http://bosh.metajack.im: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) {
        Hello.log("Status DISCONNECTED.");
        $(document).trigger('disconnected');
    }
});

 Hello.connection = conn;
});

 $(document).bind('connected', function () {
    // inform the user
    Hello.log("Connection established.");

   Hello.connection.addHandler(Hello.handle_pong, null, "iq", null, "ping1");

   var domain = Strophe.getDomainFromJid(Hello.connection.jid);

   Hello.send_ping(domain);

 });

 $(document).bind('disconnected', function () {
   Hello.log("Connection terminated.");

   // remove dead connection object
  Hello.connection = null;
});

我正在使用电话间隙。

谢谢

4

1 回答 1

0

你的代码Stroph.Connection是错误的。首先,您验证传递 URL 参数Stroph.connnection("URL")是否有效。

$(document).bind('connect', function (ev, data) {
    var conn = new Strophe.Connection("http://example.com:7070/http-bind");
    //"http://bosh.metajack.im:5280/xmpp-httpbind");
  • 在上面的代码中,7070用于 Openfire 上 HTTP 绑定连接的不安全端口。
  • 如果您的问题没有解决,请提供您在 PhoneGap 应用程序中使用的 XMPP 服务器。
于 2013-07-30T09:58:08.177 回答