【发布时间】:2011-05-19 12:45:49
【问题描述】:
我以为它是在编译时从/proc/sys/net/core/somaxconn 检索到的,但是在我将其修改为1024 后echo 1024 > /proc/sys/net/core/somaxconn,SOMAXCONN 在我的程序中仍然是128。
printf("---------------set socket to listen,maxconn is %d--------------\r\n\r\n", SOMAXCONN);
// set socket to listen
if (listen(sock_listen, SOMAXCONN) != 0)...
我检查了sys/socket.h,但它不存在...
我可以在哪里/如何更改它的值?
【问题讨论】:
-
它应该在
tcp.h。见:stackoverflow.com/questions/1198564/… -
@Evan Mulawski ,刚刚检查过,不存在...
-
/etc/sysctl.conf怎么样?它应该在kern.ipc.somaxconn下。您可以使用linux.die.net/man/8/sysctl 以编程方式更改该值。 -
@Evan Mulawski ,我决定在我的程序中硬编码数字
listen(sock_listen, 1024).sysctl是一个 bash 命令,我如何在我的程序中使用它?
标签: c network-programming