| 

.NET C# Java Javascript Exception

1
Aktuell frage ich bei meiner Web-Anwendung in einem vorgegebenen Intervall (Alle 3 Sekunden) ob eine Verändrung an den Daten vorgenommen wurde.
Ich würde aus "Echtzeit"-Gründen gerne auf Observer umsteigen, also dass der Server bescheid gibt wenn sich etwas geändert hat. Bietet mir jQuery/asp.net dafür eine Möglichkeit?
21.09.2009
quirin 63 4
1 Antwort
1
Für eine Web-Anwendung auf Basis eines Clients (Browser) und eines HTTP-Servers gibt es keine Möglichkeit für "echte" Benachrichtigung des Clients durch den Server. Das liegt in der Funktionsweise von HTTP begründet. Der Client löst einen Request aus und erhält vom Server eine Response. Der Server kann immer nur auf einen Request vom Client antworten und nicht selbst eine Verbindung zum Client aufbauen.
Beim klassischen Polling erhält der Client sofort vom Server entweder eine postive oder negative Antwort. Nun müssen jedoch zwischen Request und Response nicht zwingend nur ein paar Millisekunden liegen. Der Server könnte sich mit der negativen Antwort durchaus etwas länger Zeit lassen. Erst wenn nach Ablauf eines Timeouts keine Statusänderung eingetreten ist, wird dem Client mitgeteilt das keine Änderung vorliegt. Tritt die Statusänderung eher als der Timeout ein, erfolgt die Response des Servers sofort. In jedem Fall startet der Client nach Erhalt der Response die Statusanfrage neu, so dass quasi permanent eine Verbindung zum Server besteht, die immer sofort beendet wird, wenn ein Ereignis eintritt und damit der Client nahezu in Echtzeit informiert wird.
Das Verfahren hat natürlich Vor- und Nachteile. Auf der Habenseite steht das die zeitlichen Abstände der Anfragen relativ groß gewählt werden können und Änderungen trotzdem sofort beim Client ankommen. Das erkauft man sich jedoch mit einer u.U. sehr hohen Anzahl gleichzeitig aktiver Verbindungen am Webserver.
Auch die Möglichkeiten des Servers für die Ermittlung des Statuswechsels spielen natürlich eine Rolle. Wenn der Server selbst wieder pollen muß (z.B. gegen eine Datenbank), dann kommt man vom Regen in die Traufe. Stehen hier jedoch echte Observer-Möglichkeiten zur Verfügung, so läßt sich u.U. ein Vorteil erzielen.
22.09.2009
FalkP 3,3k 3 8

Stelle deine .net-Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH