linux - 状态 FIN_WAIT_1 出现问题

标签 linux networking tcp

最近我有一些端口保持在 FIN_WAIT_1 状态,直到两天后。目标端口曾经被一个服务器进程使用,客户端通过此端口连接到服务器进程。

情况是我们停止了服务器进程,显然某些客户端在那一刻仍在与服务器连接。据我了解,服务器进程向客户端发送 FIN 包并等待 ACK 包返回。不幸的是,那个 ACK​​ 包似乎要在两天后才能到达服务器端。

我的问题是有任何配置,比如 FIN_WAIT_1 状态的超时。我浏览了互联网搜索,但在那里一无所获。如果您对此有任何经验,请帮助告诉我。

顺便说一句,当端口发生 FIN_WAIT_1 时,服务器进程已经消失。

提前致谢

最佳答案

FIN_WAIT_1状态是等待对端ACK本端刚刚发送的FIN。那个传出的 FIN 受制于所有正常的 TCP 重试和超时处理,所以如果另一端完全消失并且再也没有响应,TCP 理所当然应该超时并重置它。这就是为什么您找不到特定的 FIN_WAIT_1 超时:没有,只有普通的 TCP 写入计时器。

所有这一切都应该在十分钟左右的时间内发生。

如果该状态持续存在并导致其他问题,我认为您没有太多选择,只能重新启动。

关于linux - 状态 FIN_WAIT_1 出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10890247/

相关文章:

linux - 在 bash 中使用区分行符号 # 提取子数组

linux - Debian 8 -> Debian 9 中的 Vi 变化

ios - 如何以编程方式检测 iPhone 中的 EDGE 网络或不良网络?

c# - 多人游戏同步

c - 线程结束,结束整个程序?

c++ - QTcpSocket - 扩展 QRunnable 时指定了无效句柄

c++ - libwebsocket : unable to write frame bigger than 7160 bytes

linux - 从 TCP 连接获取 HTTP header

时间:2019-03-17 标签:c++: Pthreads or Linux processes

linux - CUDA 多设备问题,thrust::system_error