2016-08-22 71 views
0

Sup Dev's。使用長輪詢時的聊天應用程序問題

我目前正在使用像Facebook這樣的聊天應用程序,但使用長輪詢。每當我打開一個聊天窗口,一個長的輪詢請求將被髮送到服務器,並在請求超時或成功響應時重新啓動。但是,如果我關閉特定朋友的窗口選項卡並再次打開窗口選項卡,兩個長輪詢請求正在等待服務器上的新消息,並在兩者都響應時作出響應。所以它會從對手發送的每條消息返回2條消息,並顯示2條消息。我可以做什麼,因此不會有任何更長的每個朋友聊天窗口的投票請求?我可以通過聊天窗口關閉按鈕綁定一個函數來中斷第一個長輪詢請求嗎?任何其他方式來完成我的事情?

謝謝Chzn。

+0

這並不能解決您的問題,但將某些ID綁定到郵件將阻止顯示相同的郵件,因爲您將檢查具有該ID的郵件是否已存在 – Aleksandar

+0

非常感謝。我會試試看。如果有人有另一個想法。我希望能回覆。 – chzn

回答

1

完美地工作。使用此...

if(!$("#"+result.chatid).length) { //do things }

...檢查現有消息。