Ab sgcWebSockets 2023.2.0 wurde der HTTP/1-Client verbessert und unterstützt nun SSE-Anfragen. Bitte beachte: SSE wurde bereits in den Server-Komponenten unterstützt, jedoch noch nicht im Client.
SSE (Server-Sent Events) ist eine Webtechnologie zum effizienten Empfang von Push-Benachrichtigungen vom Server an den Browser eines Clients. Es handelt sich um einen Standard, der es einer Webseite ermöglicht, Updates vom Server in Echtzeit zu empfangen, ohne ständig pollen zu müssen. SSE wird typischerweise für Echtzeit-Updates in Szenarien wie Chat-Anwendungen, Sportergebnissen, Finanzdaten und ähnlichem verwendet.
SSE arbeitet über eine einzige HTTP-Verbindung; der Browser öffnet und unterhält diese Verbindung automatisch. Der Server pusht Updates über diese Verbindung an den Client; sie wird offengehalten, solange der Client verbunden ist.
SSE Client
TsgcHTTP1Client hat eine neue Methode GetSSE, die eine HTTP-Anfrage sendet, um einen Event Stream zwischen Server und Client zu starten. Jedes Mal, wenn der Client einen neuen Stream vom Server empfängt, wird das Ereignis OnSSEMessage mit dem Inhalt der Textnachricht aufgerufen.
Unten siehst du ein einfaches Beispiel.
oHTTP := TsgcHTTP1Client.Create(nil);
oHTTP.OnSSEMessage := OnSSEMessageEvent;
oHTTP.GetSSE('https://www.esegece.com/sse.php');
procedure OnSSEMessageEvent(Sender: TObject; const aMessage: string; var Cancel: Boolean);
begin
DoLog(aMessage);
end;
Die vollständige Quellcode-Demo und das kompilierte Projekt für Windows kannst du unten herunterladen
