我有一個頁面,內容是動態獲得的php和Mysql.I使用foreach循環來顯示所有的內容。Twitter的更新時,新的行被添加到數據庫
foreach($data as $key){
echo "<div id="post_content"> $key['post'] </div>";
}
現在,我得到我的飼料只是因爲它是,但,需要刷新此問題的頁面,你看到從數據庫中新的崗位行之前。 這就是twitter的用途,當你在twitter上,並且你正在關注某人的新帖子時,它會在Feed的頂部顯示「1條新推文」,點擊它可以添加推文的內容到飼料。 從我的研究中,我發現了一些方法來做到這一點;
Websockets。缺點:跨瀏覽器兼容性。
使用AJAX:
refresh = setInterval(function(), 5000);
缺點:嗯,加載腳本每5秒:/- 有人recomended socket.io給我,我仍然在尋找如何將它與PHP的整合。
我的問題是,是否有任何其他有效的(優先簡單和有效的)方式來做到這一點? 任何幫助將不勝感激。
您不想爲每個連接設置套接字。我會做AJAX。您可以通過在用戶進行一定量的非活動之後不更新調用服務器來改進您的腳本。這將使您的服務器免受非活動用戶的攻擊。 – Boundless
但是該頁面基本上是我的主頁,即使對於活躍的用戶來說,它仍然是效率低下? – Saff
如果您使用套接字,您將極大地限制您的網站可以同時擁有的用戶數量。對於可以打開多少個套接字有一個限制,並且您的服務器必須投入資源來保持這些套接字打開。 – Boundless