是否将套接字缓冲区溢出导致的数据包丢失视为网络丢失?

问题描述

| 如果由于套接字缓冲区已满而在主机上丢弃UDP数据包,我是否应该认为这是网络丢失?这种区别将帮助我决定是考虑在应用程序层实现重传还是增加缓冲区大小。 我被UDP困扰,但我的应用程序需要按顺序传输数据包,而不会丢失数据包...> _ <     

解决方法

如果数据包被丢弃在网络堆栈中,则可以按照考虑网络数据包丢失的相同方式来考虑它。 UDP不可靠。您可能不会收到所有数据包,并且可能以不同的顺序接收它们。无论如何,您都需要在应用程序中提供一种机制来应对这一问题。     ,UDP是不可靠的,因此如果需要可靠性,则必须自己实现。丢弃数据报的位置无关紧要,某些数据报将被丢弃并且最终结果相同。 同样,您将获得重复的数据报,并且数据报的发送顺序与发送数据报时的顺序不同。 您可能对以下问题的答案感兴趣:当您需要可靠的UDP时使用什么?