12.05.2008, 15:19
Hallo,
ich habe mir jetzt schon seit einigen Monaten die vielen verschiedenen Ansätze für eine Server-Multiclientlösung im Forum durchgelesen. Da ich (leider) nicht ständig mit LabVIEW arbeite waren mir die TCP/IP Ansätze zu streng und blieb lieber bei den Lösungen mit SV.
Dabei habe ich folgendes berücksichtigt: Initialisierung von Server und Clients, Kommunikation von den Clients zum Server und umgekehrt. Leider habe ich ein Problem.Der Server wird von einem Client aktualisiert, wenn es am FP des Client eine Änderung gegeben hat. Diese Änderung stelle ich durch Schieberegistern der einzelnen Elemente fest, indem ich einfach jeden Wert mit dem vorherigen Wert (Zyklus vorher) vergleiche. Hat eine Änderung stattgefunden, so wird mittels Notifier in einer anderen Schleife die neuen Werte an den Server weitergereicht (aufwendiges Prinzip mit SV im Client setzen und im Server wieder zurücksetzen, so wie M.Weippert das irgendwo im Forum beschrieben hat). Leider funktioniert das Ganze nicht, wenn ich schnell hintereinander mehrmals z.B. ein numerisches Bedienelement inkrementiere oder dekrementiere. Es kommt dann zu einer Situation, wo der Server einen anderen Wert anzeigt als der Client.
Kann mir jemand vielleicht einen Lösungsansatz geben.
Dankend
montanaro
ich habe mir jetzt schon seit einigen Monaten die vielen verschiedenen Ansätze für eine Server-Multiclientlösung im Forum durchgelesen. Da ich (leider) nicht ständig mit LabVIEW arbeite waren mir die TCP/IP Ansätze zu streng und blieb lieber bei den Lösungen mit SV.
Dabei habe ich folgendes berücksichtigt: Initialisierung von Server und Clients, Kommunikation von den Clients zum Server und umgekehrt. Leider habe ich ein Problem.Der Server wird von einem Client aktualisiert, wenn es am FP des Client eine Änderung gegeben hat. Diese Änderung stelle ich durch Schieberegistern der einzelnen Elemente fest, indem ich einfach jeden Wert mit dem vorherigen Wert (Zyklus vorher) vergleiche. Hat eine Änderung stattgefunden, so wird mittels Notifier in einer anderen Schleife die neuen Werte an den Server weitergereicht (aufwendiges Prinzip mit SV im Client setzen und im Server wieder zurücksetzen, so wie M.Weippert das irgendwo im Forum beschrieben hat). Leider funktioniert das Ganze nicht, wenn ich schnell hintereinander mehrmals z.B. ein numerisches Bedienelement inkrementiere oder dekrementiere. Es kommt dann zu einer Situation, wo der Server einen anderen Wert anzeigt als der Client.
Kann mir jemand vielleicht einen Lösungsansatz geben.
Dankend
montanaro