1 默认大小
tcp : cat /proc/sys/net/ipv4/tcp_rmem
4096 87380 4161536
其中 87380为默认接收缓冲的大小
cat /proc/sys/net/ipv4/tcp_wmem
4096 16384 4161536
其中16384为默认发送缓冲的大小
udp:cat /proc/sys/net/core/rmem_default
212992
UDP 默认接收缓冲大小为212992
cat /proc/sys/net/core/wmem_default
212992
UDP 默认发送缓冲大小为212992
2 最大缓冲区大小
cat /proc/sys/net/core/rmem_max
131071
tcp,udp最大接收缓冲区大小为131072*2
cat /proc/sys/net/core/wmem_max
131071
tcp,udp最大发送缓冲区大小为131072*2
3 最小缓冲区大小
由内核宏定义:2288 B
4 设定缓冲区大小
用setsockopt(s, SOL_SOCKET, SO_RCVBUF, &rcv_size, &optlen),自定义缓冲区大小
注意,设定的结果是rcv_size*2 ; 然后在用rcv_size*2 与最大值,最小值进行比较,
如果超过最大值,则取最大值 131071*2
如果小于最小值,则取最小值2288
否则,取rcv_size*2