長連接網(wǎng)絡(luò)技術(shù)應(yīng)用
長連接技術(shù)匯總概述
長輪詢和coment技術(shù)及實(shí)現(xiàn)
概述:
基于HTTP的長連接展鸡,是一種通過長輪詢方式實(shí)現(xiàn)“服務(wù)器推”的技術(shù),它彌補(bǔ)了HTTP簡單的請求應(yīng)答模式的不足宪睹,極大地增強(qiáng)了程序的實(shí)時(shí)性和交互性。
應(yīng)用場景:
長連接、長輪詢一般應(yīng)用于WebIM姆打、ChatRoom和一些需要及時(shí)交互的網(wǎng)站應(yīng)用中。其真實(shí)案例有:WebQQ出牧、Hi網(wǎng)頁版穴肘、Facebook IM等。
優(yōu)缺點(diǎn):
輪詢:客戶端定時(shí)向服務(wù)器發(fā)送Ajax請求舔痕,服務(wù)器接到請求后馬上返回相應(yīng)信息并關(guān)閉連接评抚。
優(yōu)點(diǎn):后端程序編寫比較容易。
缺點(diǎn):請求中有大半是無用伯复,浪費(fèi)帶寬和服務(wù)器資源慨代。
實(shí)例:適用于小型應(yīng)用。
長輪詢:客戶端向服務(wù)器發(fā)送Ajax請求啸如,服務(wù)器接到請求后hold住連接侍匙,直到有新消息才返回響應(yīng)信息并關(guān)閉連接,客戶端處理完響應(yīng)信息后再向服務(wù)器發(fā)送新的請求叮雳。
優(yōu)點(diǎn):在無消息的情況下不會(huì)頻繁的請求想暗,耗費(fèi)資源小妇汗。
缺點(diǎn):服務(wù)器hold住連接會(huì)消耗資源,返回?cái)?shù)據(jù)順序無保證说莫,難于管理維護(hù)杨箭。
實(shí)例:WebQQ、Hi網(wǎng)頁版储狭、Facebook IM互婿。
具體代碼實(shí)現(xiàn):