JavaScript aktualisiert den Inhalt eines
HTML-Div-Elements. Verwendet wird JQuery 2. Beim Ausführen ist nur eine Zeitüberschreitung zu sehen, da hinter der Adresse zum Abfragen des Messwertes natürlich kein Dienst antwortet. Der Quelltext dort zeigt aber wie es gehen könnte.
jQuery 2.x ist brandneu und unterstützt ältere Browser nicht mehr - die 1.x Version wird noch gepflegt.
Das "Fiddle" greift alle 100 Millisekunden auf den Server zu, d.h. der Client erzeugt zehn HTTP GET Anforderungen pro Sekunde. Bei Ajax Long Polling steuert der Server die Zeit bis zum Update, indem er die Response mehr oder weniger lang zurückhält - zum Beispiel solange bis tatsächlich (neue) Daten vorhanden sind. Ajax Long Polling geht auch mit der jQuery Ajax Funktion gut.
Update:
Im Soll-Zustand ist die Oberfläche dann eine Internetseite, hier muss entsprechend eine Anfrage an den Dienstgeber gesendet werden ("get http;//..."), damit dieser eine Gelegenheit erhält mit dem aktuellen Messwertsatz zu antworten. Eine andere Möglichkeit ist mir nicht bekannt.
Siehe oben - man im Browser WebSocket verwenden, das ohne GET arbeitet. Der Server kann dazu über den gleichen Port auch aktiv Daten an den Client (Webbrowser) senden, über
TCP Streams in beiden Richtungen. Problem: es gibt m.W. für
Indy nur eine "experimentelle" WebSocket Implementierung. Eine kommerzielle WebSocket Lösung andererseits gibt es auch, aber sie ist nicht
Indy-basiert.
Für die Gestaltung der Oberfläche noch ein Tip:
http://dvdchief.com/delphi/ ist eine freie, open source Template Engine wie Smarty für PHP, mit der man
HTML Seiten anhand von Templates erstellen kann. Getestet habe ich es noch nicht, aber es ist die erste mir bekannte Lösung für Delphi.