gpt4 book ai didi

linux - TCP CLOSE_WAIT 状态.. & 新连接

转载 作者:太空宇宙 更新时间:2023-11-04 11:34:38 24 4
gpt4 key购买 nike

我在一个众所周知的 TCP 端口上有一个服务器,许多客户端连接到该端口。客户端使用非阻塞选项连接到服务器。

当我终止服务器进程时,客户端套接字进入 CLOSE_WAIT 状态。现在,如果我重新启动服务器进程并且客户端尝试再次连接,connect() 调用似乎会阻塞,即使它应该是非阻塞的..

实际的修复可能实际上是在服务器死机时关闭套接字。但我想了解当前的行为..

  • 当现有连接处于 CLOSE_WAIT 状态时,是什么阻止了新连接的建立?
  • 为什么即使设置了非阻塞选项,连接也会阻塞?

这是在 Linux 2.6.3x 内核中看到的。

最佳答案

这听起来像是客户端中的错误。如果您将套接字设置为非阻塞,然后调用 connect,则 connect 调用没有理由阻塞。您能否粘贴创建套接字、将其设置为非阻塞并调用 connect 的客户端代码?另外,您确定它在 connect 调用本身中被阻止了吗?

关于linux - TCP CLOSE_WAIT 状态.. & 新连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8829041/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com