TsgcHTTP2Client | Verbinding actief houden voor client

Zodra uw client verbinding heeft gemaakt met de server, kan de verbinding soms worden verbroken vanwege een slecht signaal, verbindingsfouten... Er zijn 2 eigenschappen die helpen de verbinding actief te houden.

 

HeartBeat

HeartBeat-eigenschap stelt u in staat om elke X seconden een Ping te verzenden om de verbinding in leven te houden. Sommige servers sluiten TCP-verbindingen als er geen gegevens worden uitgewisseld tussen peers. HeartBeat lost dit probleem op door elke specifieke interval een ping te verzenden. Gewoonlijk is dit voldoende om een verbinding actief te houden.

 

De eigenschap HeartBeatType biedt de mogelijkheid aan te passen hoe de HeartBeat werkt:

 

1. hbtAlways: verzendt elke x seconden gedefinieerd in het Interval een ping.

2. hbtOnlyIfNoMsgRcvInterval: stuurt elke x seconden een ping, maar alleen als er tijdens de laatste x seconden zoals gedefinieerd in de eigenschap Interval geen berichten zijn ontvangen.

 

Voorbeeld: stuur elke 30 seconden een ping


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

WatchDog

Als WatchDog is ingeschakeld, probeert WatchDog wanneer de client een verbreking detecteert, elke X seconden opnieuw verbinding te maken totdat de verbinding weer actief is.

 

Voorbeeld: elke 10 seconden opnieuw verbinden na een verbreking met onbeperkte pogingen.

 


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