1. 輪詢
利用ajax每隔一段時間就請求一次服務器,服務器返回數據。
優勢:最簡單的解決方案
缺點:對服務器壓力很大,浪費帶寬
2. 長輪詢
利用ajax請求服務器,當有數據變化的時候,馬上返回,當沒有數據的時候,保持這個鏈接直到
斷開,當斷開的時候再次發出請求,一直循環
優勢:最簡單的解決方案,減小了對服務器的請求次數
缺點:對服務器壓力大,一樣浪費帶寬(在保持鏈接的時候(hold),會消耗資源)
3. 長鏈接
在頁面裏面嵌套一個iframe,設置src爲一個長鏈接的請求,服務器就能不斷向客戶端輸入數據
優勢:消息及時送達,沒有多餘的請求
缺點:維護一個長鏈接會增長開銷
4. flash socket
利用Socket類的接口與服務端的socket接口進行通訊
優勢:真正的即時通訊
缺點:必須安裝flash插件,有防火牆的限制
5. websocket
Html5中,增強了web的功能,提供了websocket技術,它是一種應用層的協議,提供了瀏覽器和服務器之間的原生全雙工跨域通訊(ws),很強大。當new websocket的時候,第一次會進行一次握手,當握手成功後,瀏覽器和服務器之間就創建了一個tcp鏈接,接下來服務器和客戶端就能進行雙向通訊了(走的是ws協議)web