Sobald sich ein Client mit dem Server verbunden hat, kann die Verbindung manchmal aufgrund von schlechtem Signal, Verbindungsfehlern usw. geschlossen werden. Verwenden Sie HeartBeat, um die Verbindung aufrechtzuerhalten.
Die Eigenschaft HeartBeat ermöglicht es Ihnen, alle X Sekunden einen Ping zu senden, um die Verbindung am Leben zu halten. Einige Clients schließen TCP-Verbindungen, wenn keine Daten zwischen den Peers ausgetauscht werden. HeartBeat löst dieses Problem durch das Senden eines Pings in einem bestimmten Intervall. Üblicherweise reicht dies aus, um eine Verbindung aktiv zu halten, aber Sie können ein TimeOut-Intervall festlegen, wenn Sie die Verbindung schließen möchten, wenn nach X Sekunden keine Antwort vom Client empfangen wird.
Beispiel: Senden Sie alle 30 Sekunden einen Ping an alle verbundenen Clients
oServer := TsgcWebSocketServer.Create(nil);
oServer.HeartBeat.Interval := 30;
oServer.HeartBeat.Timeout := 0;
oServer.HeartBeat.Enabled := true;
oServer.Active := true;