정의
Heartbeat
A periodic message that keeps a WebSocket alive.
정의
WebSocket heartbeat는 WebSocket 연결이 여전히 살아 있는지 확인하기 위해 주기적으로 전송되는 메시지입니다. Polymarket의 market WebSocket에서는 서버가 대략 10초마다 PING을 기대하며, heartbeat가 누락되면 서버나 중간 경로가 연결을 끊을 수 있습니다.
문맥
Polymarket의 마켓 피드(wss://ws-subscriptions-clob.polymarket.com/ws/market)에 구독하면 연결 수명 주기는 정기적인 heartbeat에 의존합니다. 서버는 market 이벤트(best_bid_ask, last_trade_price, price_change, tick_size_change)를 발행하며 타임아웃을 피하려면 약 10초 간격으로 PING을 받기를 기대합니다. 구현체는 들어오는 PING/PONG 프레임에 응답하는 것과, 전송 경로나 중개자가 유휴 소켓을 닫을 가능성이 있다면 클라이언트 쪽에서 주기적으로 PING을 보내는 것을 모두 처리해야 합니다.
실무 노트
- 네트워크 지터와 처리 지연을 허용하기 위해 10초보다 약간 짧은 타이머(예: 9–10초)를 사용하세요.
- 누락된 heartbeat는 깔끔한 재연결을 시도하고 사용 중이던 instruments에 다시 구독하여 처리하세요. 재연결 로직에는 쓰나미 효과를 피하기 위한 백오프를 포함해야 합니다.
- 다시 구독할 때는 1회 연결당 500-instrument-per-connection 제한을 준수하세요; WebSocket은 과도한 구독 요청을 거절합니다.
참고
- /glossary/market-channel