短視頻app開發(fā),實(shí)時(shí)性不達(dá)標(biāo)不妨試試長(zhǎng)連接
在短視頻app開發(fā)的很多業(yè)務(wù)場(chǎng)景中對(duì)數(shù)據(jù)實(shí)時(shí)性的要求會(huì)比較高,為提升數(shù)據(jù)的實(shí)時(shí)性,我們常采用輪詢的方式進(jìn)行數(shù)據(jù)的獲取,如果在短視頻app開發(fā)中使用輪詢后數(shù)據(jù)實(shí)時(shí)性仍不達(dá)標(biāo),那我們不妨試試長(zhǎng)連接。

一、輪詢
在短視頻app開發(fā)中,輪詢方式有兩種,分別是短輪詢和長(zhǎng)輪詢,不同的輪詢方式適用不同的業(yè)務(wù)場(chǎng)景,且具備不同的優(yōu)缺點(diǎn):
1、短輪詢
所謂的短輪詢是指前端通過(guò)定時(shí)器實(shí)現(xiàn)請(qǐng)求的定時(shí)發(fā)送,服務(wù)端在接收到請(qǐng)求后立即返回結(jié)果,以此來(lái)實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)刷新。
(1)優(yōu)點(diǎn):短輪詢?cè)诙桃曨lapp開發(fā)中時(shí)間較為簡(jiǎn)單。
(2)缺點(diǎn):前端設(shè)置時(shí)間間隔定時(shí)去請(qǐng)求數(shù)據(jù),就有可能導(dǎo)致返回?cái)?shù)據(jù)相同或返回空結(jié)果,導(dǎo)致無(wú)用請(qǐng)求過(guò)多,浪費(fèi)系統(tǒng)資源。而且實(shí)時(shí)性并不容易把控,如果在輪詢請(qǐng)求剛結(jié)束完一輪時(shí),數(shù)據(jù)進(jìn)行了更新,那在下一輪輪詢開始前,顯示的數(shù)據(jù)均不是最新數(shù)據(jù)。
2、長(zhǎng)輪詢
所謂的長(zhǎng)輪詢是指短視頻app開發(fā)的客戶端發(fā)起請(qǐng)求后,服務(wù)端會(huì)在數(shù)據(jù)沒(méi)有更新時(shí)等待一段時(shí)間后再返回結(jié)果,如果在等待時(shí)間結(jié)束后,數(shù)據(jù)仍沒(méi)有更新則返回空結(jié)果??蛻舳嗽诮邮盏椒?wù)端返回的結(jié)果后會(huì)立即再次發(fā)送新請(qǐng)求。

(1)優(yōu)點(diǎn):長(zhǎng)輪詢避免了大量重復(fù)請(qǐng)求,且可以更好地控制數(shù)據(jù)實(shí)時(shí)性、
(2)缺點(diǎn):服務(wù)端消耗的資源比較大,如果數(shù)據(jù)更新比較頻繁的話,長(zhǎng)輪詢無(wú)法及時(shí)處理。
二、長(zhǎng)連接
通過(guò)上述內(nèi)容可知,雖然長(zhǎng)輪詢彌補(bǔ)了短輪詢的部分缺點(diǎn),卻無(wú)法靈活應(yīng)對(duì)短視頻app開發(fā)中數(shù)據(jù)更新比較頻繁的場(chǎng)景,為此,我們不妨嘗試一下長(zhǎng)連接。
所謂的長(zhǎng)連接其實(shí)就是在客戶端和服務(wù)端之間建立一個(gè)持久的、用于數(shù)據(jù)傳輸?shù)倪B接,該連接建立后并不會(huì)隨著單次請(qǐng)求的結(jié)束而斷開,而是會(huì)一直保持連接狀態(tài)。
在短視頻app開發(fā)中使用長(zhǎng)連接可以實(shí)現(xiàn)同一條信道的復(fù)用,節(jié)省了連接創(chuàng)建所占用的時(shí)間,但是長(zhǎng)連接可能會(huì)存在對(duì)頭阻塞問(wèn)題。

為實(shí)現(xiàn)達(dá)標(biāo)的數(shù)據(jù)實(shí)時(shí)性,在短視頻app開發(fā)時(shí),我們不僅可以采取輪詢,還能采用長(zhǎng)連接。其實(shí)短視頻app開發(fā)就是一個(gè)不斷鉆研的過(guò)程中,只是經(jīng)過(guò)多方面的嘗試,才能選擇出一條合適的、正確的發(fā)展道路。
聲明:本文由云豹科技原創(chuàng),轉(zhuǎn)載請(qǐng)注明作者名及原文鏈接,否則視為侵權(quán)