为了尽量减少延迟(我不关心数据包丢失),我希望UDP的接收缓冲区尽可能小。但是,当我将SO_RCVBUF设置为小于1000(使用setsockopt)时,我的程序就无法接收任何数据包。我发送的数据报有28字节的数据,总共在网络上传输的数据包大小为70字节,那么如果SO_RCVBUF小于1000,为什么我就无法接收任何数据呢?如何更改这个问题,以允许更小的缓冲区大小?
此外,是否可以按数据包数量而非字节数来设置缓冲区?或者是否有某种方法可以手动清空缓冲区?
此外,是否可以按数据包数量而非字节数来设置缓冲区?或者是否有某种方法可以手动清空缓冲区?