1
我有一个UdpClient坐在一个端口上。我用它来发送数据。UdpClient接收缓冲区。它什么时候丢包?
99%的时间我不在乎任何传入的数据包。但是,在极少数情况下,我需要侦听来自我发送的一个数据包的响应。
我的第一个想法是在发送之后直接简单调用UdpClient.Recieve(),并循环查看任何数据包,直到找到我的答复。
但是,我想知道接收缓冲区如何在UdpClient中工作。由于我没有正常处理任何收到的数据包,因此我认为它必须缓冲它们,然后在缓冲区达到一定大小时将它们丢弃。我担心在我的回复到达电汇后,但在我的Recieve()调用执行之前,这种抛出可能会发生。
我能想到的唯一解决方案是不断处理所有接收到的数据包,但这对于这样一种简单的情况似乎有点矫枉过正。
有谁知道UdpClient的缓冲行为? (例如,它是否扔掉了整个缓冲区,或只是最老的数据或什么?)。 MSDN没有提供我可以找到的详细信息。