定義
ハートビート
WebSocketを生かし続ける定期的なメッセージ。
定義
WebSocketのハートビートは、接続がまだ生きていることを確認するためにWebSocket上で定期的に送信されるメッセージです。Polymarketのmarket WebSocketでは、サーバーはおおよそ10秒ごとのPINGを期待しており、ハートビートが途切れるとサーバーや中継ノードが接続を切断する可能性があります。
コンテキスト
Polymarketのマーケットフィード(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秒)に設定してください。
- ハートビートが途切れた場合は、クリーンな再接続とインストゥルメントへの再サブスクライブを試みてください。再接続ロジックにはバックオフを含め、同時再接続の嵐(thundering herds)を避けるべきです。
- 再サブスクライブ時は接続ごとに500インストゥルメントの上限を尊重してください。WebSocketは過大なサブスクリプション要求を拒否します。
関連項目
- /glossary/market-channel