Depuis sgcWebSockets 2023.2.0, le client HTTP/1 a été amélioré et prend en charge les requêtes SSE. Rappelle-toi que SSE était déjà pris en charge sur les composants serveur mais pas sur le client.
SSE (Server-Sent Events) est une technologie web pour recevoir efficacement des notifications push depuis un serveur vers le navigateur du client. C'est un standard qui permet à une page web de recevoir des mises à jour d'un serveur en temps réel sans recourir à un polling permanent. SSE est généralement utilisé pour fournir des mises à jour en temps réel pour des scénarios tels que les applications de chat, les scores sportifs, les données financières et d'autres.
SSE fonctionne sur une seule connexion HTTP, et le navigateur ouvre et maintient automatiquement cette connexion. Le serveur pousse les mises à jour au client via cette connexion, qui reste ouverte tant que le client est connecté.
Client SSE
TsgcHTTP1Client dispose d'une nouvelle méthode appelée GetSSE qui envoie une requête HTTP pour démarrer un flux d'événements entre le serveur et le client. Chaque fois que le client reçoit un nouveau flux depuis le serveur, l'événement OnSSEMessage est appelé avec le contenu du message texte.
Voici un exemple simple.
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;
La démo source complète et le projet compilé pour Windows peuvent être téléchargés ci-dessous
