長連接網(wǎng)絡(luò)技術(shù)應(yīng)用
長連接技術(shù)匯總概述
長輪詢和coment技術(shù)及實現(xiàn)
概述:
基于HTTP的長連接,是一種通過長輪詢方式實現(xiàn)“服務(wù)器推”的技術(shù),它彌補了HTTP簡單的請求應(yīng)答模式的不足,極大地增強了程序的實時性和交互性。
應(yīng)用場景:
長連接、長輪詢一般應(yīng)用于WebIM、ChatRoom和一些需要及時交互的網(wǎng)站應(yīng)用中。其真實案例有:WebQQ、Hi網(wǎng)頁版、Facebook IM等。
優(yōu)缺點:
輪詢:客戶端定時向服務(wù)器發(fā)送Ajax請求,服務(wù)器接到請求后馬上返回相應(yīng)信息并關(guān)閉連接。
優(yōu)點:后端程序編寫比較容易。
缺點:請求中有大半是無用,浪費帶寬和服務(wù)器資源。
實例:適用于小型應(yīng)用。
長輪詢:客戶端向服務(wù)器發(fā)送Ajax請求,服務(wù)器接到請求后hold住連接,直到有新消息才返回響應(yīng)信息并關(guān)閉連接,客戶端處理完響應(yīng)信息后再向服務(wù)器發(fā)送新的請求。
優(yōu)點:在無消息的情況下不會頻繁的請求,耗費資源小。
缺點:服務(wù)器hold住連接會消耗資源,返回數(shù)據(jù)順序無保證,難于管理維護。
實例:WebQQ、Hi網(wǎng)頁版、Facebook IM。
具體代碼實現(xiàn):