2011-11-11 18 views
1

我正在構建一個雜貨應用程序,該應用程序允許與家人中屬於「家庭」組的其他成員進行同步,並且當他們中的一個更新其設備上的購物清單時,它會在其他設備上自動更新。我幾乎可以做所有的事情,但是會自動進行。使用基於Ajax/PHP的jQuery同步效果?

我有.load使用setInterval工作,但它僅在間隔設置爲幾分鐘時起作用(穩定),因爲每隔幾秒呼叫一次在服務器上有點過分:\

我相信這樣做的方式是長時間輪詢,我仍然不知道該怎麼做,但任何人都可以建議我如何有效地做到這一點?在某種程度上可能不會像移動設備一樣瘋狂呢?因爲我打算把這個推到手機上。

或者如果這意味着服務器上的負載較少,是否有人會知道如何做到這一點,就像Twitter在檢測到新內容時會做'1新推文'?

任何幫助非常感謝! :)

乾杯, 卡蘭

+0

http://stackoverflow.com/questions/4743536/push-style-notifications-simliar-to-facebook-with-rails-and-jquery and http://trihoprojects.com/2011/05/push-technology /將幫助你解決你的查詢。 – Rohan

回答

0

如果你頻繁輪詢服務器上的太過分了,那麼你需要在服務器上修改的邏輯。在每個請求過程中,你應該有一些東西在服務器緩存一個會話變量或類似的東西。然後,當用戶進行更改時,使緩存無效,以便在此之後,來自Javascript的其中一個輪詢請求實際上會導致服務器的全部命中。

我要說的另一件事是小心長時間運行的響應範例。這是一小部分,幾乎所有我在野外看到的都是使用頻繁輪詢。在這條古老的線程處取得一個高峯。

Comet VS Ajax polling

如果你仍然有興趣在長時間運行響應看看Comet