定义
Heartbeat
一个定期发送的消息,用于保持 WebSocket 连接活跃。
定义
WebSocket 心跳是通过 WebSocket 连接定期发送的消息,用以确认连接仍然存活。在 Polymarket 的 market WebSocket 上,服务器期望每 10 秒收到一次 PING;缺失心跳可能导致服务器或中间件断开连接。
背景
当你订阅 Polymarket 的 market feed (wss://ws-subscriptions-clob.polymarket.com/ws/market) 时,连接的生命周期依赖于定期心跳。服务器会发出 market 事件(best_bid_ask、last_trade_price、price_change、tick_size_change),并期望客户端大约每 10 秒发送一次 PING 以避免超时。实现应当既能响应传入的 PING/PONG 帧,也应当在客户端主动发送定期 PING,以防传输层或中间件关闭空闲套接字。
实用说明
- 使用比 10 秒略短的定时器(例如 9–10 秒),以容忍网络抖动和处理延迟。
- 在出现丢失心跳的情况下,尝试进行干净的重连并重新订阅你的合约(instruments)。重连逻辑应包含退避策略以避免引发“惊群效应”。
- 在重新订阅时遵守每连接最多 500 个 instruments 的限制;WebSocket 会拒绝超大订阅请求。
另见
- /glossary/market-channel