# 调整 NPC 断线检测时间

> 调整 NPS 与 NPC 在连续未收到探测响应时关闭桥接连接的等待时间

---

LLMS 索引： [llms.txt](/llms.txt)

---

NPS 与 NPC 的多路复用数据桥接每 5 秒发送一次探测包。`disconnect_timeout` 表示允许连续未收到探测响应的**次数**，不是秒数；默认 `60`，约 5 分钟后判定桥接失效。

## 配置两端

服务端 `nps.conf`：

```ini
disconnect_timeout=60
```

NPC 配置文件：

```ini
[common]
disconnect_timeout=60
```

无配置文件模式：

```shell
./npc -server=nps.example.com:8024 -vkey=客户端验证密钥 -disconnect_timeout=60
```

修改后重启对应进程。建议两端显式设置相同数值，避免一端已经放弃连接、另一端仍长时间等待。

## 如何选择

| 网络场景                           | 建议                                 |
| ---------------------------------- | ------------------------------------ |
| 稳定内网/专线，需要快速发现故障    | 可逐步降低，并先验证短时抖动不会误断 |
| 公网、移动网络、卫星链路或偶发丢包 | 保持默认或适当提高                   |
| 防火墙/NAT 有较短空闲超时          | 先调整网络设备；探测间隔固定为 5 秒  |

数值越小，故障切换越快，但瞬时拥塞可能让该客户端承载的所有活动连接一起中断。数值越大，误断更少，但黑洞连接恢复更慢。

## 重连行为与排障

只有 NPC 发现数据桥接 socket 已关闭，才会进入重连流程。正常情况下 NPS 主动关闭会通过 FIN/RST 传到 NPC；如果中间网络静默丢弃报文，NPC 必须等自己的阈值到达后才能关闭并重连，随后还会等待约 5 秒再尝试。

调整前先查明断线原因。若固定约 5 分钟断开，检查两端探测日志和防火墙/NAT 会话；若高峰时误断，检查丢包和拥塞。该参数不会让已经中断的 SSH、数据库或 WebSocket 会话自动恢复，应用仍需自行重连。

---

反链：

- [桥接连接多路复用](/extend/feature/multiplexing.html)
