TsgcWebSocketHTTPServer › Events › OnBeforeHeartBeat
Wordt geactiveerd vóór elke HeartBeat-ping zodat de toepassing een aangepaste keep-alive kan implementeren.
__property TsgcWSOnBeforeHeartBeatEvent OnBeforeHeartBeat;
// typedef void __fastcall (__closure *TsgcWSOnBeforeHeartBeatEvent)(TObject * Sender, const TsgcWSConnection * Connection, bool &Handled);
—
Wanneer HeartBeat is ingeschakeld, stuurt de server elke HeartBeat.Interval seconden een standaard WebSocket-ping naar elke verbonden client. OnBeforeHeartBeat wordt onmiddellijk geactiveerd voordat die ping voor elke verbinding wordt geschreven, zodat de toepassing zijn eigen keep-alive-payload kan verzenden op de opgegeven verbinding. Het instellen van Handled op True onderdrukt de standaard-ping voor deze cyclus; het op False laten (de standaard) laat de standaard-ping worden verstuurd nadat de handler terugkeert. Gebruik dit om protocol-specifieke heartbeats te implementeren of om de payload per verbinding te variëren.
void OnBeforeHeartBeat(TObject *Sender, const TsgcWSConnection *Connection,
bool &Handled)
{
Connection->WriteData("ping");
Handled = true;
}