2011-04-04 106 views

回答

2

這很難解釋。

在標題中,你會談論「流媒體」,但是在你說的「文件」的正文中。

最好使用UDP進行流式傳輸,因爲TCP總是按順序傳遞數據:如果數據包丟失並且必須重新發送,應用程序在TCP解決它之前不會獲取任何數據。對於實時數據,這是不可取的。

文件最好使用TCP發送。

+0

+1與我的答案相同。 :) – MusiGenesis 2011-04-04 15:40:31

+0

感謝您的答覆。我提到的文件在描述中是錯誤的。我想流傳真人實時視頻。現在,將UDP視頻從一臺機器流式傳輸到另一臺機器或Tcp是更好的選擇。其次如何比較RTSP。我的意思是我需要一些清晰的方法。 – 2011-04-06 07:46:16

4

你的問題題目說「視頻流」,UDP是一個合適的選擇。 UDP不保證數據包傳輸,但這對於視頻流並不重要。

然而,你的問題的主體說「發送文件」,這是不完全一樣的流。如果您試圖將整個文件從一臺設備傳輸到另一臺設備(整個文件傳輸成功很重要),那麼TCP就是要走的路。

+0

感謝您的回覆。我想流傳真人實時視頻。現在,將UDP視頻從一臺機器流式傳輸到另一臺機器或Tcp是更好的選擇。其次如何比較RTSP。我的意思是我需要兩種方法的清晰畫面。因爲如果我使用的是TCP/UDP,那麼我會實際上按照我的想法發送流幀,如果我使用RTSP,那麼我將不得不公開鏈接以供不同機器使用。請注意一些方法。 – 2011-04-06 07:49:22

1

當您希望發送給多個收件人時,開始查看UDP,並且在問題中投擲多個框的成本變得過高。

因此評估一下情況,UDP傳輸的開發成本要高於TCP,並且在某種程度上你正在重新發明TCP。多播的好處很明顯,但單播有什麼好處?在現代硬件上,你有TCP加速,這意味着UDP單播實際上是一個非常昂貴的選擇。較低延遲的爭論是針對具體應用的,即遊戲,更重要的是缺乏可靠性和低限數據速率。

NB:初始性能差開發商TCP之間看到和UDP是Nagle的和TCP slow start,即擁塞控制,這是間網絡的可擴展性是至關重要的。內部網絡應用程序都可以禁用。

+0

我想象,解碼和顯示視頻數據的CPU成本將足夠大,使得使用UDP與TCP的CPU開銷不會是一個重要因素。 – 2011-04-06 05:42:11

+1

@Jeremy你也有加速視頻解碼和顯示的能力,因此所有東西的成本都降低了,這樣你就可以在像ARM,Geode這樣的更便宜的平臺上運行,這時網絡協議的重要性再次變得相關。 – 2011-04-06 05:50:27

相關問題