我正在編寫一個簡單的應用程序,它在使用方面與聊天應用程序非常相似。主持人開始一個「房間」,參與者可以加入併發送消息到所述房間。EventSource vs polled ajax的效率/開銷?
我想盡可能簡化代碼。 PHP在後臺沒有任何花哨。
我的第一個想法是隻從客戶端進行輪詢ajax,以查看是否在該會議室中發佈了新消息。然後我認爲這會導致對服務器的瘋狂的請求(認爲它們很小,但仍然)。
然後,我研究了更多的HTML5方法,並發現了EventSource - 這在理論上看起來是正確的,但我不知道它在它的覆蓋下,它只是輪詢ajax。
然後有彗星,但它也需要一個服務器端組件,我不太急於設置。
我想我可以使用長輪詢 - 這是最好的辦法嗎?
此外,如何最小化所有客戶端請求新數據的數據庫請求?
但是EventSource默認每3秒輪詢一次。我知道你可以改變那個時間,但我認爲長時間輪詢的想法是,你設置了一個請求,它只是等待,直到有數據 - 你如何用eventsource做到這一點? – 2012-01-09 05:15:36
不,EventSource每3秒嘗試*重新連接*。如果你沒有關閉連接,它會馬上得到更新。 – 2012-01-09 05:19:13
你的意思是不斷變得可用?是否有任何缺點不關閉該連接? – 2012-01-09 05:23:37