mcp - 客户端断线(或自动)重连策略
2026年2月8日 上午9:45:23
(v3.2.1 后支持)“断线重连”(或自动重连)是指:在服务端重启(或关闭一段时间后,再重启。或者别的原因网络中断)后,客户端会自动重新连接。
1、客户端的心跳机制
为了确保能自动重连,solon-ai-mcp 设计了客户端的心跳机制。通过配置好的心跳间隔(默认为 15秒,可以配置),给 mcp-server 发送 mcp ping 检测包。
- 取消心跳(把 heartbeatInterval 置为 null):
McpClientProvider mcpClient = McpClientProvider.builder()
.channel(McpChannel.STREAMABLE)
.url("http://localhost:8081/demo2/sse?user=1")
.heartbeatInterval(null) //默认为 15S
.build();
- 为什么需要心跳?
MCP 默认是一个长链接的机制(服务端有反向请求客户端的情况),且一般客户端为单例(如果服务端重启,需要自动再连上)。
2、重连策略
- 如果本次请求出现网络错误,下次请求时会尝试重连
- 如果心跳失败,下次请求时会尝试重连