TsgcTCPClient › プロパティ › HeartBeat
接続を維持し、停滞を検出するために定期的なアプリケーションレベルのハートビートをトリガーします。
property HeartBeat: TsgcWSHeartBeat_Options read GetHeartBeat write SetHeartBeat;
Enabled=False
HeartBeat.Enabled が True の場合、クライアントは Interval 秒ごとに OnBeforeHeartBeat イベントを発火するため、生の TCP セッションを通じてアプリケーション定義のプローブを書き込めます。クライアントは WebSocket プロトコルを話さないため、送信する組み込み ping フレームがありません。ワイヤフォーマットが期待するキープアライブバイトを送信するには、イベントハンドラーを使用してください。Timeout は発信プローブからレスポンスまでの最大秒数で、これを超えると接続が閉じられます(0 はチェックを無効化)。HeartBeatType は hbtAlways(毎インターバル発火)または hbtOnlyIfNoMsgRcvInterval(最終インターバル中にメッセージを受信していない場合のみ)を選択します。これは OS レベルの TCPKeepAlive プローブとは無関係です。
oTCP := TsgcTCPClient.Create(nil);
oTCP.HeartBeat.Interval := 30;
oTCP.HeartBeat.Timeout := 0;
oTCP.HeartBeat.Enabled := true;
oTCP.Active := true;