云南省建設(shè)工程招標(biāo)投標(biāo)行業(yè)協(xié)會(huì)網(wǎng)站百度seo排名優(yōu)化教程
我們聊聊輪詢技術(shù),什么是輪詢?輪詢就是在特定的時(shí)間間隔,由瀏覽器對(duì)服務(wù)器發(fā)出HTTP請(qǐng)求,然后由服務(wù)器返回最新的數(shù)據(jù)給客戶端的瀏覽器。
輪詢分為兩種:
短輪詢:通過(guò)不斷的向服務(wù)端發(fā)送數(shù)據(jù),客戶端發(fā)送Request,服務(wù)端直接返回Response(不管服務(wù)端數(shù)據(jù)有沒(méi)有改變)。
長(zhǎng)輪詢:通過(guò)不斷的向服務(wù)端發(fā)送數(shù)據(jù),客戶端發(fā)送Request,服務(wù)端發(fā)現(xiàn)數(shù)據(jù)沒(méi)有改變,就將這個(gè)Request掛起,直到有最新數(shù)據(jù)再發(fā)送Response給客戶端。
通過(guò)上面短輪詢的介紹,不難發(fā)現(xiàn)它的缺點(diǎn),如果在某段時(shí)間內(nèi),服務(wù)端數(shù)據(jù)沒(méi)有任何變化,但客戶端還是不停的發(fā)送請(qǐng)求給服務(wù)端,服務(wù)端也不管數(shù)據(jù)是否變化,直接返回結(jié)果給客戶端,那么在這段時(shí)間內(nèi)的所有請(qǐng)求其實(shí)是無(wú)效的。
這個(gè)時(shí)候長(zhǎng)輪詢就彌補(bǔ)了短輪詢的缺點(diǎn),客戶端發(fā)送請(qǐng)求,服務(wù)器會(huì)查詢數(shù)據(jù)是否更新,沒(méi)有更新就會(huì)掛起這個(gè)請(qǐng)求,直到有新數(shù)據(jù),服務(wù)端才會(huì)把Response返回給客戶端,這樣是不是就完美了?其實(shí)不是,服務(wù)端將客戶端的請(qǐng)求掛起會(huì)導(dǎo)致資源的浪費(fèi),比如有1W人請(qǐng)求服務(wù)端,那這個(gè)時(shí)候服務(wù)端這邊就要開(kāi)啟1W個(gè)線程,導(dǎo)致資