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

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

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

侦听器套接字的积压是否可能在短时间内填满并导致新请求被拒绝?我已经没有线索了,到目前为止,我无法在持续集成系统之外重现这种情况。

答案1

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

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

相关内容