当用SO_RECVBUF调用setsockopt,然后转身用SO_RECVBUF调用getsockopt时,它似乎告诉我它将缓冲区大小设置为我要求设置的两倍。有人知道为什么这可能是?getsockopt SO_RECVBUF做了一个set后,在linux中显示了两倍的值?
代码问题:
https://gist.github.com/rdp/8443238
输出:
setting it as 2222
[udp @ 0x1a72ec0] end receive buffer size reported is 4444
只有在linux下,对其他操作系统的似乎其报告为我设置的值。 谢谢。
可能重复[Understanding set/getsockopt SO \ _SNDBUF](https://stackoverflow.com/questions/2031109/understanding-set-getsockopt-so-sndbuf) – rogerdpack