c - c中定义的const SOMAXCONN在哪里?

标签 c network-programming

我以为它是在编译时从/proc/sys/net/core/somaxconn中获取的,但是在我通过echo 1024将它修改为1024之后>/proc/sys/net/core/somaxconnSOMAXCONN 在我的程序中仍然是 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 但它不在那里...

我在哪里/如何更改它的值?

最佳答案

在我的系统上,它在 bits/socket.h 中定义

/* Maximum queue length specifiable by listen.  */
#define SOMAXCONN   128

根据 this ,您不需要使用 SOMAXCONN。只需指定您想要的数量,它将被限制为实际最大值。

关于c - c中定义的const SOMAXCONN在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6058799/

相关文章:

c - 访问共享内存段的进程返回不同的值

c++ - 指针 float 数组的第一次机会异常

c# - 我应该在多大程度上处理代码中的网络问题?

javascript - Node.js UDP 网络多播

c - 如何让我的 C 程序忽略空格(空格、制表符、换行符)?

c - SPIM(MIPS 模拟器)无法解析以下语句 lui $2,%hi($LC0)

将十六进制字符串数组转换为十六进制数组

c - WinPcap 没有捕获任何 arp 数据包

sockets - Python 服务器客户端 WinError 10057

java - RMI 只是一种基础技术或仍然值得使用