2013-10-09 79 views
0

我有一個網絡聊天應用程序會自動去刷新頁面後不可用。我正在使用BOSH,Openfire和Strophe。除非頁面刷新,否則一切都很好。我在頁面刷新前使用cookie保存用戶信息(JID,RID,SID)。然而,當連接被重置,將顯示所有在線用戶,但是當你在以後的訂單將消息發送到客戶端就會自動轉到UNAVAILABLE雖然會議還活着。客戶端使用XMPP的strophe BOSH

編輯:

$(window).bind('onunload', function() { 
    if(connection !== null){ 
     connection.pause(); 
     set_cookies(); 
    }else{ 
     del_cookies(); 
    } 
}); 

刷新後,連接應該繼續使用連接()功能。將顯示所有在線聯繫人列表,但幾秒鐘後將不可用。

+0

您可以發佈頁面重新加載後提出的請求和響應: 這可以通過將擺脫節約型代碼連接對象的xmlOutput方法來實現? –

+0

嗨實際的代碼或控制檯流量? – leeshin

回答

2

可以通過保存在創建連接擺脫搞定這個問題,擺脫被更新在每次請求,XMPP服務器通常用於一些RID的窗口,所以要保持在擺脫餅乾更新是很重要的。

嘗試更新上的strophe使每BOSH要求去掉。

conn.xmlOutput = function(body) { 
    var rid = $(body).attr('rid'); 
    // save rid to cookies 
}