輪詢和長輪詢優缺點分析
阿新 • • 發佈:2018-03-08
無法自動 頻繁 pre 安裝 定時 返回 http協議 維護 book
輪詢和長輪詢優缺點分析
輪詢:客戶端定時向服務器發送Ajax請求,服務器接到請求後馬上返回響應信息並關閉連接。 優點:後端程序編寫比較容易。 缺點:請求中有大半是無用,浪費帶寬和服務器資源。 實例:適於小型應用。 長輪詢:客戶端向服務器發送Ajax請求,服務器接到請求後hold住連接,直到有新消息才返回響應信息並關閉連接,客戶端處理完響應信息後再向服務器發送新的請求。 優點:在無消息的情況下不會頻繁的請求。 缺點:服務器hold連接會消耗資源。 實例:WebQQ、Hi網頁版、Facebook IM。 另外,對於長連接和socket連接也有區分: 長連接:在頁面裏嵌入一個隱蔵iframe,將這個隱蔵iframe的src屬性設為對一個長連接的請求,服務器端就能源源不斷地往客戶端輸入數據。 優點:消息即時到達,不發無用請求。 缺點:服務器維護一個長連接會增加開銷。 實例:Gmail聊天 Flash Socket:在頁面中內嵌入一個使用了Socket類的 Flash 程序JavaScript通過調用此Flash程序提供的Socket接口與服務器端的Socket接口進行通信,JavaScript在收到服務器端傳送的信息後控制頁面的顯示。 優點:實現真正的即時通信,而不是偽即時。 缺點:客戶端必須安裝Flash插件;非HTTP協議,無法自動穿越防火墻。 實例:網絡互動遊戲。 以上是四種請求方式的介紹和優缺點比較。
輪詢和長輪詢優缺點分析