TsgcHTTP2Client | Client Keep Connection Active

クライアントがサーバーに接続した後、不十分な信号や接続エラーなどにより接続が閉じられることがあります。接続をアクティブに保つのに役立つ2つのプロパティがあります。

 

HeartBeat

HeartBeat プロパティにより、接続を維持するために X ごとに Ping を送信できます。一部のサーバーは、ピア間でデータが交換されない場合に TCP 接続を閉じます。HeartBeat はこの問題を解決し、特定の間隔で ping を送信します。通常、これだけで接続をアクティブに維持するのに十分です。

 

HeartBeatType プロパティを使用して HeartBeat の動作をカスタマイズできます。

 

1. hbtAlways: Interval で定義された x 秒ごとに ping を送信します。

2. hbtOnlyIfNoMsgRcvInterval: Intervalプロパティで定義された直近のx秒間にメッセージが受信されなかった場合にのみ、x秒ごとにpingを送信します。

 

使用例: 30秒ごとにピングを送信します。


oClient := TsgcHTTP2Client.Create(nil);
oClient.HeartBeat.Interval := 30;
oClient.HeartBeat.Enabled := true;
oClient.Active := true;

WatchDog

WatchDog が有効な場合、クライアントが切断を検出すると、WatchDog は接続が再びアクティブになるまで X 秒ごとに再接続を試みます。

 

使用例: 切断後に無制限の試行回数で 10 秒ごとに再接続します。

 


oClient := TsgcHTTP2Client.Create(nil);
oClient.WatchDog.Interval := 10;
oClient.WatchDog.Attempts := 0;
oClient.WatchDog.Enabled := true;
oClient.Active := true;