При вызове setsockopt с SO_RECVBUF, а затем, поворачиваясь и вызывающий getockopt с SO_RECVBUF, кажется, говорит мне, что он устанавливает размер буфера в два раза больше, чем я попросил его установить. Кто-нибудь знает, почему это может быть?getsockopt SO_RECVBUF после выполнения набора показывает двойное значение в linux?
код в вопросе:
https://gist.github.com/rdp/8443238
выход:
setting it as 2222
[udp @ 0x1a72ec0] end receive buffer size reported is 4444
только в Linux, на других ОС, кажется, сообщить об этом в качестве значения я установил его. Спасибо.
Возможный дубликат [Общие сведения о set/getsockopt SO \ _SNDBUF] (https://stackoverflow.com/questions/2031109/understanding-set-getsockopt-so-sndbuf) – rogerdpack