首页 > 解决方案 > TCP KEEP ALIVE Ack 在一段时间内没有看到

问题描述

我有一个在 linux 上运行的 TCP 应用程序。我为我的 TCP 连接设置了 SO_KEEPALIVE 选项。这是我的设置。

static const int KEEPALIVE_ENABLE = 1;
static const int KEEPALIVE_IDLE_TIME = 1; // 5s
static const int KEEPALIVE_INTERVAL =  1; // 1s
static const int KEEPALIVE_COUNT = 3;

如果系统(B)没有收到 3 个探测计数的 ack,那么我的系统(A)将从其他系统(B)获得 tcp keep alive ,它将重置连接。问题:有时我观察到的是 tcp keep alive ack 未发送(有时),由于此连接正在重置。有人可以告诉我不发送此 tcp keep alive ack 的可能原因是什么?

标签: tcplinux-kernelnetwork-programmingtcp-keepalive

解决方案


推荐阅读