輪詢:客戶端定時向伺服器發送Ajax請求,伺服器接到請求後馬上回傳回應訊息並關閉連線。 優點:後端程式編寫比較容易。 缺點:請求中有大半是無用,浪費頻寬和伺服器資源。 實例:適於小型應用。 長輪詢:客戶端向伺服器發送Ajax請求,伺服器接到請求後hold住連接,直到有新訊息才返回回應訊息並關閉連接,客戶端處理完回應訊息後再向伺服器發送新的請求。 優點:在無訊息的情況下不會頻繁的請求。 缺點:伺服器hold連線會消耗資源。 實例:WebQQ、Hi網頁版、Facebook IM。 另外,對於長連接和socket連接也有區分: 長連接:在頁面裡嵌入一個隱蔵iframe,將這個隱蔵iframe的src屬性設為一個長連接的請求,伺服器端就能源源不斷地往客戶端輸入資料。 優點:訊息即時到達,不發無用請求。 缺點:伺服器維護一個長連線會增加開銷。 實例:Gmail聊天 Flash Socket:在頁面中內嵌入一個使用了Socket類別的Flash 程式JavaScript透過呼叫此Flash程式提供的Socket介面與伺服器端的Socket介面進行通信,JavaScript在收到伺服器端傳送的資訊後控制頁面的顯示。 優點:實現真正的即時通信,而不是偽即時。 缺點:客戶端必須安裝Flash插件;非HTTP協議,無法自動穿越防火牆。 實例:網路互動遊戲。 以上是四種請求方式的介紹和優缺點比較。 版權聲明:本文為部落客原創文章,未經部落客允許不得轉載。 以上就介紹了輪詢,長輪詢,長連接,Flash Socket,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。