TsgcHTTP2Client | Client Keep Connection Active

Sobald sich Ihr Client mit dem Server verbunden hat, kann die Verbindung manchmal aufgrund von schlechtem Signal, Verbindungsfehlern usw. geschlossen werden. Es gibt 2 Eigenschaften, die helfen, die Verbindung aktiv zu halten.

 

HeartBeat

Die Eigenschaft HeartBeat ermöglicht es Ihnen, alle X Sekunden einen Ping zu senden, um die Verbindung aktiv zu halten. Einige Server schließen TCP-Verbindungen, wenn keine Daten zwischen Peers ausgetauscht werden. HeartBeat löst dieses Problem, indem es alle paar Sekunden in einem bestimmten Intervall einen Ping sendet. Normalerweise reicht dies aus, um eine Verbindung aktiv zu halten.

 

Die Eigenschaft HeartBeatType ermöglicht es, anzupassen, wie der HeartBeat funktioniert:

 

1. hbtAlways: sendet alle x Sekunden, definiert im Interval, einen Ping.

2. hbtOnlyIfNoMsgRcvInterval: sendet alle x Sekunden einen Ping, nur wenn während der letzten x Sekunden, die in der Eigenschaft Interval definiert sind, keine Nachrichten empfangen wurden.

 

Beispiel: alle 30 Sekunden einen Ping senden


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

WatchDog

Wenn WatchDog aktiviert ist und der Client eine Trennung erkennt, versucht WatchDog alle X Sekunden, sich erneut zu verbinden, bis die Verbindung wieder aktiv ist.

 

Beispiel: alle 10 Sekunden nach einer Trennung mit unbegrenzten Versuchen erneut verbinden.

 


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