我对
listen
系统调用中的积压值有疑问。来自监听系统调用的手册页。
如果 backlog 参数大于 /proc/sys/net/core/somaxconn 中的值,则它会被静默截断为该值;该文件中的默认值为 128。
这意味着我的服务器只能接受<128 connections at once. What if I want to accept more connection >128 ??我可以简单地将值设置为可能的最大数量,以便我可以访问更多的连接数量吗?
这个数字只是连接队列的大小,新连接等待某人接受它们。一旦您的应用程序调用
accept()
,等待连接就会从该队列中删除。因此,您绝对可以处理超过 128 个同时连接,因为它们通常只在队列中花费很短的时间。
积压值不是最大连接数,而是未完成的连接数,即您尚未接受的连接数():ed。