TsgcWebSocketHTTPServer › プロパティ › HeartBeat
アイドル状態のクライアント接続を維持し、死んだピアを検出するために、定期的にpingフレームを送信します。
property HeartBeat: TsgcWSHeartBeat_Options read GetHeartBeat write SetHeartBeat;
Enabled=False
HeartBeat.Enabled が True の場合、サーバーは Interval 秒ごとに接続しているすべてのクライアントにpingを送信します。Timeout を使用して、指定された秒数以内にpongを返さないピアをクローズします(0 はチェックを無効化)。HeartBeatType はストラテジーを選択します: hbtAlways は毎インターバルで常にpingし、hbtOnlyIfNoMsgRcvInterval は最後のインターバルでメッセージが受信されなかった場合のみpingします(iohDefault では、pingはスウィーパースレッドではなく接続スレッドのコンテキストで送信されます)。OnBeforeHeartBeat イベントを使用すると標準のpingをカスタムメッセージに置き換えられます。
oServer := TsgcWebSocketHTTPServer.Create(nil);
oServer.HeartBeat.Interval := 30;
oServer.HeartBeat.Timeout := 0;
oServer.HeartBeat.Enabled := true;
oServer.Active := true;