我正在实现一个 UDP 数据传输的东西。我有几个关于 UDP 缓冲区的问题。
我正在使用 UDPClient 进行 UDP 发送/接收。我的宽带带宽是 150KB/s(bytes/s,不是bps)。
我向 27 台主机发送了一个 500B 的数据报
27 台主机收到后会发回 10KB 数据报。
所以,我应该收到 27 条回复,对吧?但是,我平均只得到 8 - 12 个。
然后我尝试将响应的大小减小到 500B,是的,我收到了所有。
我的一个想法是,如果所有 27 台主机几乎同时发回 10KB 响应,则传入流量将是 270KB/s(可能),这超出了我的传入带宽,因此会发生丢失。我对吗?
但我认为即使传入流量超过带宽,Windows 是否应该将数据报放入缓冲区并等待接收?
然后我怀疑我的 UdpClient 的 ReceiveBufferSize 可能太小了?默认是8092B??
我不知道我在这些方面是否还好。请给我一些帮助。