私はstrophe.jsを使って簡単なIM(web)を構築します。strophe.js、私はBoshセッションを復元するためにattach()を使いますが、 'Status'はCONNFAILとDISCONNECTEDにアタッチされます。
私はindex.html(ログイン用)とmyChat.html(メインチャットビュー)の2ページを持っています。
そして私はindex.htmlの中JIDとパスワードによってopenfireサーバーにログインするときそして、私はコールバックで 'のonConnect' COOKIEに取り除くJID、SIDを、保存、およびmyChat.html
に行くconnection = new Strophe.Connection(BOSH_SERVICE);
connection.connect($("#inputName").val()+"@openfireserver", $("#inputPassword").val(), onConnect);
myChat.htmlでは、connection.attach()を使用してBOSHセッションを復元します。
コールバックでまずvar jid=$.cookie('jid');
var sid=$.cookie('sid');
var rid=$.cookie('rid');
connection = new Strophe.Connection(BOSH_SERVICE);
connection.attach(jid,sid,parseInt(rid,10)+1,onConnectAttach);
、 'onConnectAttach'、ステータス== Strophe.Status.ATTACHED、 しかし1-3分を待って、ステータスがStrophe.Status.CONNFAILとStrophe.Status.CONNECTEDに変わります!
サーバを再接続するためにconnection.connect()を使用すると、セッションは常に維持されます。
私は間違いをどこで理解できないのですか?なぜ私はattach()を使った後に状態が変わるのですか?