在运行服务器的RHEL本地主机上拒绝连接

我在CentOs上运行一个基于Java的系统,有时候我发现一个服务的客户在短时间内会遇到“连接被拒绝”的错误。 有趣的是,服务器,同时,服务请求。 错误是间歇性的。

监听套接字的积压是否可能会填满一小段时间,导致新请求被拒绝? 我已经没有线索了,迄今为止我还没有能够在持续集成系统之外重现这一点。

我认为你的猜测是正确的, man listen(2)说(重点是我的):

backlog参数定义了sockfd挂起的连接队列可以增长的最大长度。 如果队列满时连接请求到达,则客户端可能会收到错误,并显示ECONNREFUSED,或者如果底层协议支持重新传输,则可能会忽略该请求,以便稍后重新尝试连接成功。