長輪詢是一種技術,允許Web 應用程式有效地等待來自伺服器的新數據,而無需不斷刷新頁面。這對於不經常更新資料的應用程式特別有用,例如聊天或社交網路應用程式。
在 PHP 和 JavaScript 中實現基本長輪詢
雖然長輪詢可以看似複雜,但實現卻出奇的簡單。讓我們來看一個使用 PHP 和 JavaScript 的基本範例:
PHP 腳本 (msgsrv.php)
此腳本模擬一個簡單的訊息伺服器。它會產生一個隨機數字並將其作為回應發送,並有 2 到 10 秒之間的隨機延遲來模擬現實世界的條件。
JavaScript 程式碼 (long_poller.htm)
此 JavaScript 程式碼使用 jQuery 非同步請求 PHP 腳本。如果請求成功,它將回應新增至#messages div。如果請求失敗,則會顯示錯誤並在 15 秒後重試。 setTimeout 函數確保瀏覽器定期請求腳本,從而實現長輪詢。
說明
此範例示範了長輪詢的簡化實作。 PHP 腳本模擬一個不定期發送資料的伺服器。 JavaScript 程式碼使用 AJAX 重複請求腳本,等待回應。收到回應後,JavaScript 程式碼會更新 UI。如果沒有回應,腳本會等待一小段時間並重試。這種方法允許 Web 應用程式保持回應,同時有效地等待伺服器端更新。
以上是長輪詢如何在不不斷刷新頁面的情況下有效更新Web應用程式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!