Какое минимальное значение SO_RCVBUF?

Чтобы минимизировать задержку (меня не волнует потеря пакетов), мне нужен минимально возможный буфер приема для UDP. Однако, когда я устанавливаю SO_RCVBUF ниже 1000 (с setsockopt), моя программа никогда не получает никаких пакетов. Отправляемые мной дейтаграммы содержат 28 байтов данных, что дает общий размер пакета в сети 70 байтов, так почему я ничего не могу получить, если SO_RCVBUF <1000? И как мне изменить это, чтобы разрешить меньший размер буфера?

Кроме того, можно ли установить размер буфера с точки зрения количества пакетов, а не байтов? Или есть способ очистить его вручную?

5
задан Benubird 11 February 2011 в 15:41
поделиться