呵呵呵呵呵

萝莉有三好,柔体 轻音 易推倒。女神有三宝,干嘛 呵呵 去洗澡。宅男有三好:Dota 基友 破电脑。


Linux下获取tcp 和 udp 套接字收发缓冲区大小的方法

Linux下获取tcp 和 udp 套接字收发缓冲区大小的方法

1. tcp 收发缓冲区默认值

[root@linux]# cat /proc/sys/net/ipv4/tcp_rmem

4096    87380   4161536

87380  :tcp接收缓冲区的默认值

[root@linux]# cat /proc/sys/net/ipv4/tcp_wmem

4096    16384   4161536

16384  : tcp 发送缓冲区的默认值

2. tcp 或udp收发缓冲区最大值

[root@linux]# cat /proc/sys/net/core/rmem_max

131071

131071:tcp 或 udp 接收缓冲区最大可设置值的一半。

也就是说调用 setsockopt(s, SOL_SOCKET, SO_RCVBUF, &rcv_size, &optlen);  时rcv_size 如果超过 131071,那么

getsockopt(s, SOL_SOCKET, SO_RCVBUF, &rcv_size, &optlen); 去到的值就等于 131071 * 2 = 262142

[root@linux]# cat /proc/sys/net/core/wmem_max

131071

131071:tcp 或 udp 发送缓冲区最大可设置值得一半。

跟上面同一个道理

3. udp收发缓冲区默认值

[root@linux]# cat /proc/sys/net/core/rmem_default  

111616:udp接收缓冲区的默认值

[root@linux]# cat /proc/sys/net/core/wmem_default

111616

111616:udp发送缓冲区的默认值

4. tcp 或udp收发缓冲区最小值

tcp 或udp接收缓冲区的最小值为 256 bytes,由内核的宏决定;

tcp 或udp发送缓冲区的最小值为 2048 bytes,由内核的宏决定

更多内容:

TCP协议的send和recv函数与过程
Google https搜索不提供关键字referer信息
php strlen mb_strlen差异与区别
linux socket设置缓冲区大小
netstat 中recv-q与send-q说明

本文链接地址:http://www.hehehehehe.cn/i/782.html