直播系統(tǒng)代碼,通過(guò)對(duì)比發(fā)現(xiàn)的最佳協(xié)議
時(shí)間:2022-05-08 00:09:01 | 來(lái)源:行業(yè)動(dòng)態(tài)
時(shí)間:2022-05-08 00:09:01 來(lái)源:行業(yè)動(dòng)態(tài)
直播系統(tǒng)代碼可以選擇的協(xié)議有很多,多到讓運(yùn)營(yíng)商不知道如何選擇,在眾多協(xié)議中有兩個(gè)協(xié)議比較突出,一個(gè)是UDP協(xié)議一個(gè)是TCP協(xié)議,在協(xié)議的對(duì)比下,TCP協(xié)議成為直播系統(tǒng)代碼以及短視頻、一對(duì)一等娛樂(lè)平臺(tái)最常用的協(xié)議,不過(guò)這不代表著它就是最優(yōu)秀的,關(guān)于協(xié)議的選擇,其實(shí)還是要看最終的應(yīng)用場(chǎng)景。
一、協(xié)議之間的鮮明對(duì)比
我們通過(guò)例子來(lái)說(shuō)明UDP協(xié)議和TCP協(xié)議的區(qū)別。
1、在某次傳輸任務(wù)中,直播系統(tǒng)代碼需要傳遞一個(gè)畫(huà)質(zhì)低、聲音并不怎么清晰地小數(shù)據(jù)包,使用UDP協(xié)議很快就完成了傳輸,但如果使用TCP協(xié)議,需要先建立鏈接,建立后再傳輸內(nèi)容,建立完成后還需要拆除掉建立的鏈接,不僅傳輸時(shí)間增長(zhǎng),還增加了傳輸?shù)拈_(kāi)銷(xiāo)。
2、由于TCP協(xié)議的可靠性強(qiáng),對(duì)于直播系統(tǒng)代碼來(lái)說(shuō),適配更多的機(jī)型和同時(shí)可以服務(wù)更多的用戶(hù)是首要任務(wù),專(zhuān)用于一對(duì)一場(chǎng)景下的應(yīng)用,其實(shí)很適合用UDP協(xié)議,因?yàn)閭鬏斔俣瓤?,而且一?duì)一的情況下傳輸更穩(wěn)定,有效保證了使用體驗(yàn)。
二、UDP的優(yōu)缺點(diǎn)
雖然直播系統(tǒng)代碼優(yōu)先選擇是TCP協(xié)議,但不代表著UDP協(xié)議沒(méi)有使用優(yōu)勢(shì)。
1、UDP協(xié)議沒(méi)有緩存,也就是說(shuō),用戶(hù)端和主播端是直接連接的實(shí)時(shí)狀態(tài),沒(méi)有了緩存區(qū)意味著不會(huì)出現(xiàn)信息擁堵的現(xiàn)象,當(dāng)用戶(hù)端網(wǎng)速不好時(shí),往往被緩存的內(nèi)容會(huì)出現(xiàn)堵塞,導(dǎo)致應(yīng)用端需要先去處理要發(fā)送的數(shù)據(jù)和發(fā)送的時(shí)間,網(wǎng)絡(luò)中的擁堵控制并不會(huì)影響主播端的發(fā)送,也就是說(shuō)這個(gè)擁堵可能會(huì)越來(lái)越大,導(dǎo)致用戶(hù)觀看時(shí),卡了恢復(fù)后直播會(huì)突然快進(jìn)一下。
2、UDP協(xié)議抗丟包率能力強(qiáng),當(dāng)用戶(hù)端的網(wǎng)絡(luò)情況不好時(shí),丟包是肯定的,TCP協(xié)議下的丟包會(huì)因?yàn)榫W(wǎng)絡(luò)情況越來(lái)越嚴(yán)重,而UDP協(xié)議則會(huì)抗住丟包繼續(xù)為用戶(hù)提供流暢的直播,它的抗丟包率可以達(dá)到30%-40%。
對(duì)比之下可以看出,當(dāng)需要保證實(shí)時(shí)性時(shí),直播系統(tǒng)代碼可以應(yīng)用UDP協(xié)議,當(dāng)需要同時(shí)面對(duì)多個(gè)用戶(hù)請(qǐng)求時(shí),一對(duì)多服務(wù)下,TCP協(xié)議的優(yōu)勢(shì)更加明顯。不過(guò)需要注意的是,直播系統(tǒng)代碼大多數(shù)都是面對(duì)多人的直播場(chǎng)景,用到UDP協(xié)議的次數(shù)比較少,所以在選擇上不用太糾結(jié),TCP協(xié)議足夠了。
聲明:以上內(nèi)容為云豹科技作者本人原創(chuàng),未經(jīng)作者本人同意,禁止轉(zhuǎn)載,否則將追究相關(guān)法律責(zé)任
關(guān)鍵詞:協(xié)議,對(duì)比,系統(tǒng)