Daher möchte ich gerne, dass der Windows-Dienst eine Nachricht an alle User-Sitzungen auf diesem Server sendet. Wer weiß wie das geht???
Da alle Client-Sessions auf dem gleichen Server laufen, können sie über die
IP Adresse 127.0.0.1 oder
localhost theoretisch einen Port öffnen, z.B. deinen Mini-Webserver, und auf eine bestimmte Resource per HTTP GET Request zugreifen, z.B.
GET /
localhost:80/messages
Der Server antwortet dann mit einer HTTP Response, die entweder eine Nachricht oder einen leeren Body (Payload) hat.
Das ist das Prinzip 'Long Polling': der Client sendet in einer Schleife den GET-Befehl. Der Server blockiert, falls es für den Client aktuell keine neue Nachricht gibt, für eine gewisse Zeit (z.B. zehn Sekunden), bevor er die Antwort sendet. Das vermeidet unnötige CPU Last.
Technisch benötigt der Client dann eine minimale HTTP-Client Implementierung, entweder die vom Betriebssystem bereitgestellte oder eine Komponente wie TIdHttp.