我尝试使用
增加值SO_RCVBUF
getsockopt(udp_fd, SOL_SOCKET, SO_RCVBUF, &rcvBufferSize, &sockOptSize)
但我无法将其增加超过rmem_max
值。
如何使用c语言增加它。
我不想通过命令增加它:
$ sysctl -w net.core.rmem_max=value
答案 0 :(得分:0)
正如The Man所说
<强> SO_RCVBUF 强>
以字节为单位设置或获取最大套接字接收缓冲区。该 内核将此值加倍(以便为记账留出空间 使用setsockopt(2)设置它时,这个加倍 值由getsockopt(2)返回。默认值已设置 通过/ proc / sys / net / core / rmem_default文件,最大值 允许值由
/proc/sys/net/core/rmem_max
文件设置。 此选项的最小(加倍)值为256。
强调我的
因此,对该文件的权限,您可以直接修改它。