2010-06-14 25 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丢包。我们认为我们正在重载内核队列。我们所知道的确实是它丢包。