2010-06-14 26 views
10

我知道UDP本質上是不可靠的,但是當連接到本地主機時,我期望內核處理連接的方式不同,因爲一切都可以在內部處理。因此,在這種特殊情況下,UDP是否被認爲是可靠的協議,或者如果緩衝區溢出,內核是否仍然可能會破壞某些數據包?UDP在本地主機上的可靠性

+3

除了TomMD所說的,我想知道你爲什麼首先使用UDP。當談到本地主機的使用時,TCP幾乎沒有什麼缺點。從UDP獲得的唯一真正的收益就是非常輕微的開銷損失,如果你不得不自己保證可靠性,其中大部分會消失。 – 2010-06-14 02:26:47

+3

好吧,UDP讓你可以播放任意未知的客戶端... – Michael 2014-01-16 23:40:42

回答

8

我重複一個previous answer到一個相關的問題。爲了保持便攜性,始終要預測UDP套接字可能會丟棄數據包或接收到亂序數據。

3

我不認爲UDP(或任何其他網絡協議)在連接到本地主機時會說有關不同行爲的任何信息。所以答案將取決於你正在使用的特定內核。最好假設UDP的行爲類似於UDP。

7

我見過UDP到localhost丟包。我們認爲我們正在重載內核隊列。我們所知道的確實是它丟包。