Я использую Strophe.Connection для создания и инициализации объекта Strophe.Connection, и я запускаю процесс соединения с функцией 'connect', но он возвращает состояние ATTACHED вместо CONNECTED, как и ожидалось в книге.
Этот код взят из «Профессионального XMPP-программирования Джека Моффита с использованием JavaScript и JQuery», но он не работает для меня :-(
Я прошел весь день, и у меня сильно болит голова. Любая помощь будет признательна.
Спасибо,
Вот код:
$(document).bind('connect', function (ev, data) {
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');
}
});
Чтобы понять, что происходит, я изменил код следующим образом (со статусом подключения):
$(document).bind('connect', function (ev, data) {
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');
} else if (status === Strophe.Status.ERROR) {
alert ('status ERROR');
} else if (status === Strophe.Status.CONNECTING) {
alert ('status CONNECTING');
} else if (status === Strophe.Status.CONNFAIL) {
alert ('status CONNFAIL');
} else if (status === Strophe.Status.AUTHENTICATING) {
alert ('status AUTHENTICATING');
} else if (status === Strophe.Status.AUTHFAIL) {
alert ('status AUTHFAIL');
} else if (status === Strophe.Status.ATTACHED);
alert ('status ATTACHED');
Это показывает мне два состояния: СОЕДИНЯЕТСЯ, затем ПОДКЛЮЧЕНО. Почему у меня не может быть СОЕДИНЕННЫЙ статус, как и ожидалось в книге ???