直播軟件源碼,復(fù)用階段下,為什么不選擇使用TCP協(xié)議
TCP是在不可靠的IP層之上實(shí)現(xiàn)的可靠數(shù)據(jù)傳輸協(xié)議,對直播軟件源碼來說,很多時(shí)候是使用UDP協(xié)議的,或者說優(yōu)先考慮UDP協(xié)議,為什么不使用TCP協(xié)議呢?TCP協(xié)議主要解決直播軟件源碼解決傳輸?shù)目煽?、有序、無丟失和不重復(fù)問題,TCP是TCP/IP體系中很復(fù)雜的一個(gè)協(xié)議。
?

一、TCP協(xié)議的特點(diǎn)
1、TCP是面向連接的傳輸層協(xié)議
2、TCP連接只能有兩個(gè)端口,每條TCP連接只能是點(diǎn)對點(diǎn)的
3、TCP提供可靠的交付服務(wù),保證直播軟件源碼傳送的數(shù)據(jù)無差錯(cuò)、不丟失、不重復(fù)且有序
4、TCP提供全雙工通信,允許通信雙方的應(yīng)用進(jìn)程在任何時(shí)候都能發(fā)送數(shù)據(jù),為此TCP連接的兩端都設(shè)有發(fā)送緩存和接收緩存,用來臨時(shí)存放雙向通信的數(shù)據(jù)
5、TCP是面向字節(jié)流的,雖然應(yīng)用程序和TCP的交互是一次一個(gè)數(shù)據(jù)塊,但TCP把應(yīng)用程序交下來的數(shù)據(jù)僅視為一連串的無結(jié)構(gòu)的字節(jié)流
?

二、和UDP協(xié)議的不同
TCP和UDP在發(fā)送報(bào)文時(shí)所才用的方式不同,UDP報(bào)文長度由發(fā)送應(yīng)用進(jìn)程決定,對UDP來說,UDP報(bào)文的長度由發(fā)送應(yīng)用進(jìn)程決定,而TCP報(bào)文的長度則根據(jù)接收方給出的窗口值和當(dāng)前網(wǎng)絡(luò)擁塞程度來決定,如果直播軟件源碼應(yīng)用進(jìn)程傳送到TCP緩存的數(shù)據(jù)塊太長,TCP會(huì)把它劃分得短一些在傳送,按理說這種方式是適合直播軟件源碼這種實(shí)時(shí)性要求高的平臺(tái)使用,但也可能存在TCP等到積累夠多字節(jié)后再組成報(bào)文段發(fā)送出去,這就比較耽誤時(shí)間了。
?

三、TCP協(xié)議應(yīng)用的好處
既然TCP協(xié)議的表現(xiàn)力不如UDP協(xié)議,那為什么還要用它呢,原因就在于擁塞控制。
擁塞控制是防止過多的數(shù)據(jù)注入網(wǎng)絡(luò),保證直播軟件源碼網(wǎng)絡(luò)中的路由器或鏈路不至于過載,出現(xiàn)擁塞時(shí),端點(diǎn)并不了解擁塞發(fā)生的細(xì)節(jié),對通信連接的斷電來說,擁塞會(huì)增加通信的延遲。
比起流量控制來,擁塞控制的好處在于可以讓直播軟件源碼承受現(xiàn)有的網(wǎng)絡(luò)負(fù)荷,是一個(gè)全局性的過稱,可以降低網(wǎng)絡(luò)傳輸性能有關(guān)的因素,它們都是通過控制發(fā)送的方式發(fā)送數(shù)據(jù)速率來達(dá)到控制效果。
聲明:以上內(nèi)容為云豹科技作者本人原創(chuàng),未經(jīng)作者本人同意,禁止轉(zhuǎn)載,否則將追究相關(guān)法律責(zé)任