Ping
ℹ️
协议修订: 2024-11-05
Model Context Protocol 包括一个可选的 ping 机制,允许任一方验证其对方是否仍然响应并且连接是否存活。
概述
ping 功能通过简单的请求/响应模式实现。客户端或服务器都可以通过发送 ping
请求来发起 ping。
消息格式
ping 请求是一个没有参数的标准 JSON-RPC 请求:
{
"jsonrpc": "2.0",
"id": "123",
"method": "ping"
}
行为要求
- 接收者 必须 及时响应一个空响应:
{
"jsonrpc": "2.0",
"id": "123",
"result": {}
}
- 如果在合理的超时时间内未收到响应,发送者 可以:
- 认为连接已失效
- 终止连接
- 尝试重新连接程序
使用模式
sequenceDiagram participant Sender participant Receiver Sender->>Receiver: ping 请求 Receiver->>Sender: 空响应
实施考虑
- 实现 应 定期发出 ping 以检测连接健康状况
- ping 的频率 应 可配置
- 超时 应 适合网络环境
- 应避免过度 ping 以减少网络开销
错误处理
- 超时 应 被视为连接失败
- 多次 ping 失败 可以 触发连接重置
- 实现 应 记录 ping 失败以进行诊断