Definición
Heartbeat
Un mensaje periódico que mantiene vivo un WebSocket.
Definición
Un heartbeat de WebSocket es un mensaje periódico enviado a través de una conexión WebSocket para confirmar que la conexión sigue activa. En el WebSocket de mercado de Polymarket, el servidor espera un PING cada 10 segundos; la falta de heartbeats puede hacer que el servidor o intermediarios cierren la conexión.
En contexto
Cuando te suscribes al feed de mercado de Polymarket (wss://ws-subscriptions-clob.polymarket.com/ws/market), el ciclo de vida de la conexión depende de heartbeats regulares. El servidor emite eventos de mercado (best_bid_ask, last_trade_price, price_change, tick_size_change) y espera un PING aproximadamente cada 10 segundos para evitar timeouts. Las implementaciones deben tanto responder a los frames PING/PONG entrantes como enviar PINGs periódicos desde el cliente si el transporte o un intermediario puede cerrar sockets inactivos.
Notas prácticas
- Usa un temporizador ligeramente inferior a 10 segundos (por ejemplo, 9–10 segundos) para tolerar jitter de red y retrasos de procesamiento.
- Maneja heartbeats perdidos intentando una reconexión limpia y volviendo a suscribirte a tus instrumentos. La lógica de reconexión debería incluir backoff para evitar efectos de avalancha (thundering herds).
- Respeta el límite de 500 instrumentos por conexión al volver a suscribirte; el WebSocket rechazará solicitudes de suscripción demasiado grandes.
Ver también
- /glossary/market-channel