linux udp組播 接收不到數(shù)據(jù) 組播是不是只能用UDP協(xié)議,不能用TCP協(xié)議?
組播是不是只能用UDP協(xié)議,不能用TCP協(xié)議?UDP和TCP的應(yīng)用范圍取決于它們各自的特點(diǎn)。UDP協(xié)議的特點(diǎn)是:數(shù)據(jù)報(bào)、無(wú)連接、簡(jiǎn)單、不可靠、丟包和無(wú)序(丟包主要是在實(shí)際應(yīng)用中遇到的)。TCP的特點(diǎn)是
組播是不是只能用UDP協(xié)議,不能用TCP協(xié)議?
UDP和TCP的應(yīng)用范圍取決于它們各自的特點(diǎn)。UDP協(xié)議的特點(diǎn)是:數(shù)據(jù)報(bào)、無(wú)連接、簡(jiǎn)單、不可靠、丟包和無(wú)序(丟包主要是在實(shí)際應(yīng)用中遇到的)。TCP的特點(diǎn)是:流、連接、復(fù)雜、可靠、大延遲和帶寬占用(都與UDP有關(guān))。不同的應(yīng)用領(lǐng)域會(huì)選擇不同的協(xié)議。以流媒體為例,一是音視頻點(diǎn)播應(yīng)用(如各大視頻網(wǎng)站),對(duì)實(shí)時(shí)性要求不高。這種應(yīng)用多采用TCP/HTTP,因?yàn)橛脩艨梢匀萑萄舆t和緩沖,但不能容忍丟包造成的馬賽克。另一類是要求高實(shí)時(shí)性的音視頻通信應(yīng)用,如視頻會(huì)議、視頻監(jiān)控等。這種應(yīng)用程序的用戶不能容忍過(guò)度的延遲。相反,偶爾丟一包也不是什么大問(wèn)題。而且,在這種應(yīng)用中,基于UDP的組播技術(shù)可以大大降低服務(wù)器和交換機(jī)的壓力,因此得到了廣泛的應(yīng)用。我不太同意陳碩的第一句話。在編程中,UDP比TCP簡(jiǎn)單得多,因?yàn)樗鼪](méi)有建立連接的過(guò)程,而且是一種數(shù)據(jù)報(bào)模式。接收方不需要像TCP那樣重新組織應(yīng)用層的協(xié)議包。陳碩說(shuō),UDP比TCP更復(fù)雜。據(jù)估計(jì),UDP是用來(lái)實(shí)現(xiàn)可靠的傳輸。如果是這樣,應(yīng)該使用TCP。如果可靠性要求不是很高,那么向UDP添加確認(rèn)重傳就相對(duì)簡(jiǎn)單(我在實(shí)踐中沒(méi)有遇到過(guò)無(wú)序問(wèn)題,可能還沒(méi)有觀察到)。另外,SCTP是一種綜合了UDP和TCP優(yōu)點(diǎn)的協(xié)議。它的特點(diǎn)很吸引人,但我在實(shí)踐中沒(méi)有接觸過(guò)。