listen系统调用中的积压值

cod*_*eak 9 c sockets linux

我对listen系统调用中的backlog值有疑问.从听系统调用的手册页.

如果backlog参数大于/ proc/sys/net/core/somaxconn中的值,则会以静默方式将其截断为该值; 此文件中的默认值为128.

这意味着我的服务器一次只能接受<128个连接.如果我想接受更多连接> 128怎么办?我可以简单地将值设置为可能的最大数量,以便我可以访问更多的连接数吗?

Gre*_*ill 8

该数字只是连接队列的大小,其中新连接等待某人接受它们.应用程序调用后accept(),将立即从该队列中删除等待连接.因此,您肯定可以处理超过128个并发连接,因为它们通常只在队列中花费很短的时间.