TsgcWebSocketHTTPServer › Ereignisse

TsgcWebSocketHTTPServer Ereignisse

Ereignisse, die Sie behandeln können, nach Zweck gruppiert, gefolgt von der vollständigen alphabetischen Liste.

Lebenszyklus

NameBeschreibung
OnStartupWird ausgelöst, nachdem der Server gestartet wurde und bereit ist, Verbindungen anzunehmen.
OnShutdownWird ausgelöst, nachdem der Server gestoppt wurde und keine Verbindungen mehr akzeptiert werden.
OnTCPConnectWird ausgelöst, nachdem sich ein Client auf TCP-Ebene verbunden hat und vor dem WebSocket-Handshake, sodass die Verbindung akzeptiert oder abgelehnt werden kann.
OnConnectWird jedes Mal ausgelöst, wenn eine WebSocket-Verbindung mit einem Client hergestellt wird.
OnDisconnectWird jedes Mal ausgelöst, wenn eine WebSocket-Verbindung mit einem Client getrennt wird.
OnHandshakeWird ausgelöst, nachdem der Handshake auf der Serverseite ausgewertet wurde und bevor die Antwort gesendet wird.
OnErrorWird immer dann ausgelöst, wenn ein WebSocket-Protokollfehler auftritt, etwa ein fehlerhafter Handshake.
OnExceptionWird ausgelöst, wenn beim Verarbeiten einer Client-Verbindung eine nicht behandelte Ausnahme auftritt.
OnUnknownProtocolWird ausgelöst, wenn die erste Nachricht keinem bekannten Protokoll entspricht, sodass die Verbindung akzeptiert oder abgelehnt werden kann.
OnUnknownAuthenticationWird ausgelöst, wenn die Authentifizierung aktiviert ist und die Authentifizierungsmethode vom Server nicht erkannt wird.

Data

NameBeschreibung
OnMessageWird jedes Mal ausgelöst, wenn ein Client eine Textnachricht sendet und sie vom Server empfangen wird.
OnBinaryWird jedes Mal ausgelöst, wenn ein Client eine Binärnachricht sendet und sie vom Server empfangen wird.
OnFragmentedWird ausgelöst, wenn ein Fragment einer Nachricht empfangen wird (nur wenn Options.FragmentedMessages frgAll oder frgOnlyFragmented ist).

HTTP

NameBeschreibung
OnBeforeCommandWird vor OnCommandGet oder OnCommandOther ausgelöst, sodass die Anfrage geprüft, autorisiert oder kurzschlüssig mit einer 401-Antwort beantwortet werden kann.
OnCommandGetWird ausgelöst, wenn der HTTP-Server eine GET-, POST- oder HEAD-Anfrage empfängt, sodass die Anwendung die Antwort erstellen kann.
OnCommandOtherWird ausgelöst, wenn der HTTP-Server eine andere Methode als GET, POST oder HEAD empfängt (PUT, DELETE, OPTIONS, PATCH...).
OnBeforeForwardHTTPWird ausgelöst, bevor eine HTTP-Anfrage versendet wird, damit sie an einen anderen HTTP-Server weitergeleitet (reverse-proxied) werden kann.
OnAfterForwardHTTPWird ausgelöst, nachdem eine HTTP-Anfrage weitergeleitet wurde, sodass die Anwendung das Ergebnis oder einen vom Upstream-Server zurückgegebenen Fehler prüfen kann.
OnHTTP2BeforeAsyncRequestWird ausgelöst, bevor eine HTTP/2-Anforderung eingereiht wird, sodass die Anwendung wählen kann, ob sie im Thread-Pool oder im Verbindungsthread ausgeführt wird.

Sitzungen

NameBeschreibung
OnCreateSessionWird ausgelöst, wenn der HTTP-Server eine neue Sitzung erstellen muss, sodass die Anwendung eine benutzerdefinierte TIdHTTPSession-Instanz bereitstellen kann.
OnSessionStartWird ausgelöst, wenn eine HTTP-Sitzung gestartet und zur SessionList hinzugefügt wird.
OnSessionEndWird ausgelöst, wenn eine HTTP-Sitzung geschlossen wird, entweder explizit oder nach Ablauf von SessionTimeout.
OnInvalidSessionWird ausgelöst, wenn eine HTTP-Anfrage eine unbekannte oder abgelaufene Sitzungs-ID präsentiert, sodass die Anwendung entscheiden kann, wie sie reagiert.

HTTP Upload

NameBeschreibung
OnHTTPUploadBeforeSaveFileWird ausgelöst, bevor eine aus einem multipart/form-data-Upload extrahierte Datei auf die Festplatte gespeichert wird, sodass Name und Pfad angepasst werden können.
OnHTTPUploadAfterSaveFileWird ausgelöst, nachdem eine aus einem multipart/form-data-Upload extrahierte Datei auf der Festplatte gespeichert wurde.
OnHTTPUploadReadInputWird ausgelöst, wenn der multipart/form-data-Decoder ein Nicht-Datei-Eingabefeld liest, sodass dessen Wert erfasst werden kann.
OnHTTPUploadBeforeCreatePostStreamWird ausgelöst, nachdem die Anfrage-Header gelesen wurden und bevor der POST-Stream erstellt wird, sodass der Upload angenommen oder abgelehnt werden kann.

Zuverlässigkeit

NameBeschreibung
OnBeforeHeartBeatWird vor jedem HeartBeat-Ping ausgelöst, sodass die Anwendung ein benutzerdefiniertes Keep-Alive implementieren kann.
OnLoadBalancerConnectWird ausgelöst, wenn der Server sich mit dem Load Balancer Server verbindet.
OnLoadBalancerDisconnectWird ausgelöst, wenn sich der Server vom Load Balancer Server trennt.
OnLoadBalancerErrorWird ausgelöst, wenn bei der Kommunikation mit dem Load-Balancer-Server ein Fehler auftritt.

Sicherheit

NameBeschreibung
OnAuthenticationWird ausgelöst, wenn die Authentifizierung aktiviert ist, sodass die Anwendung Benutzer und Passwort prüfen und die Verbindung annehmen oder ablehnen kann.
OnSSLGetHandlerWird ausgelöst, bevor der SSL-Handler erstellt wird, sodass eine benutzerdefinierte serverseitige Handler-Instanz bereitgestellt werden kann.
OnSSLAfterCreateHandlerWird ausgelöst, nachdem der SSL-Handler erstellt wurde, sodass seine Eigenschaften angepasst werden können.
OnSSLALPNSelectWird während eines ALPN-fähigen Handshakes ausgelöst, sodass die Anwendung auswählen kann, welches Protokoll ausgehandelt werden soll.
OnSSLVerifyPeerWird ausgelöst, wenn VerifyCertificate aktiviert ist und der Client ein Zertifikat zur Annahme oder Ablehnung vorlegt.

Alle Ereignisse (alphabetisch)

NameBeschreibung
OnAfterForwardHTTPWird ausgelöst, nachdem eine HTTP-Anfrage weitergeleitet wurde, sodass die Anwendung das Ergebnis oder einen vom Upstream-Server zurückgegebenen Fehler prüfen kann.
OnAuthenticationWird ausgelöst, wenn die Authentifizierung aktiviert ist, sodass die Anwendung Benutzer und Passwort prüfen und die Verbindung annehmen oder ablehnen kann.
OnBeforeCommandWird vor OnCommandGet oder OnCommandOther ausgelöst, sodass die Anfrage geprüft, autorisiert oder kurzschlüssig mit einer 401-Antwort beantwortet werden kann.
OnBeforeForwardHTTPWird ausgelöst, bevor eine HTTP-Anfrage versendet wird, damit sie an einen anderen HTTP-Server weitergeleitet (reverse-proxied) werden kann.
OnBeforeHeartBeatWird vor jedem HeartBeat-Ping ausgelöst, sodass die Anwendung ein benutzerdefiniertes Keep-Alive implementieren kann.
OnBinaryWird jedes Mal ausgelöst, wenn ein Client eine Binärnachricht sendet und sie vom Server empfangen wird.
OnCommandGetWird ausgelöst, wenn der HTTP-Server eine GET-, POST- oder HEAD-Anfrage empfängt, sodass die Anwendung die Antwort erstellen kann.
OnCommandOtherWird ausgelöst, wenn der HTTP-Server eine andere Methode als GET, POST oder HEAD empfängt (PUT, DELETE, OPTIONS, PATCH...).
OnConnectWird jedes Mal ausgelöst, wenn eine WebSocket-Verbindung mit einem Client hergestellt wird.
OnCreateSessionWird ausgelöst, wenn der HTTP-Server eine neue Sitzung erstellen muss, sodass die Anwendung eine benutzerdefinierte TIdHTTPSession-Instanz bereitstellen kann.
OnDisconnectWird jedes Mal ausgelöst, wenn eine WebSocket-Verbindung mit einem Client getrennt wird.
OnErrorWird immer dann ausgelöst, wenn ein WebSocket-Protokollfehler auftritt, etwa ein fehlerhafter Handshake.
OnExceptionWird ausgelöst, wenn beim Verarbeiten einer Client-Verbindung eine nicht behandelte Ausnahme auftritt.
OnFragmentedWird ausgelöst, wenn ein Fragment einer Nachricht empfangen wird (nur wenn Options.FragmentedMessages frgAll oder frgOnlyFragmented ist).
OnHandshakeWird ausgelöst, nachdem der Handshake auf der Serverseite ausgewertet wurde und bevor die Antwort gesendet wird.
OnHTTP2BeforeAsyncRequestWird ausgelöst, bevor eine HTTP/2-Anforderung eingereiht wird, sodass die Anwendung wählen kann, ob sie im Thread-Pool oder im Verbindungsthread ausgeführt wird.
OnHTTPUploadAfterSaveFileWird ausgelöst, nachdem eine aus einem multipart/form-data-Upload extrahierte Datei auf der Festplatte gespeichert wurde.
OnHTTPUploadBeforeCreatePostStreamWird ausgelöst, nachdem die Anfrage-Header gelesen wurden und bevor der POST-Stream erstellt wird, sodass der Upload angenommen oder abgelehnt werden kann.
OnHTTPUploadBeforeSaveFileWird ausgelöst, bevor eine aus einem multipart/form-data-Upload extrahierte Datei auf die Festplatte gespeichert wird, sodass Name und Pfad angepasst werden können.
OnHTTPUploadReadInputWird ausgelöst, wenn der multipart/form-data-Decoder ein Nicht-Datei-Eingabefeld liest, sodass dessen Wert erfasst werden kann.
OnInvalidSessionWird ausgelöst, wenn eine HTTP-Anfrage eine unbekannte oder abgelaufene Sitzungs-ID präsentiert, sodass die Anwendung entscheiden kann, wie sie reagiert.
OnLoadBalancerConnectWird ausgelöst, wenn der Server sich mit dem Load Balancer Server verbindet.
OnLoadBalancerDisconnectWird ausgelöst, wenn sich der Server vom Load Balancer Server trennt.
OnLoadBalancerErrorWird ausgelöst, wenn bei der Kommunikation mit dem Load-Balancer-Server ein Fehler auftritt.
OnMessageWird jedes Mal ausgelöst, wenn ein Client eine Textnachricht sendet und sie vom Server empfangen wird.
OnSessionEndWird ausgelöst, wenn eine HTTP-Sitzung geschlossen wird, entweder explizit oder nach Ablauf von SessionTimeout.
OnSessionStartWird ausgelöst, wenn eine HTTP-Sitzung gestartet und zur SessionList hinzugefügt wird.
OnShutdownWird ausgelöst, nachdem der Server gestoppt wurde und keine Verbindungen mehr akzeptiert werden.
OnSSLAfterCreateHandlerWird ausgelöst, nachdem der SSL-Handler erstellt wurde, sodass seine Eigenschaften angepasst werden können.
OnSSLALPNSelectWird während eines ALPN-fähigen Handshakes ausgelöst, sodass die Anwendung auswählen kann, welches Protokoll ausgehandelt werden soll.
OnSSLGetHandlerWird ausgelöst, bevor der SSL-Handler erstellt wird, sodass eine benutzerdefinierte serverseitige Handler-Instanz bereitgestellt werden kann.
OnSSLVerifyPeerWird ausgelöst, wenn VerifyCertificate aktiviert ist und der Client ein Zertifikat zur Annahme oder Ablehnung vorlegt.
OnStartupWird ausgelöst, nachdem der Server gestartet wurde und bereit ist, Verbindungen anzunehmen.
OnTCPConnectWird ausgelöst, nachdem sich ein Client auf TCP-Ebene verbunden hat und vor dem WebSocket-Handshake, sodass die Verbindung akzeptiert oder abgelehnt werden kann.
OnUnknownAuthenticationWird ausgelöst, wenn die Authentifizierung aktiviert ist und die Authentifizierungsmethode vom Server nicht erkannt wird.
OnUnknownProtocolWird ausgelöst, wenn die erste Nachricht keinem bekannten Protokoll entspricht, sodass die Verbindung akzeptiert oder abgelehnt werden kann.