Hallo "irgendjemand"
alleine schon die mehrzahl zu verwenden finde ich falsch ...
stell dir mal ne große fabrik vor ... wenn da jede maschine mehrere clienten akzeptieren würde würde innerhalb von 10 min das schönste chaos entstehen ...
Quatsch! Ich habe schon Systeme auf einem HP-Superdome entwickelt und da hängen 25000 Clients dran, die über eine WAN kommunizieren - und das ohne Chaos! Firmen wie Siemens oder auch BOS können sich heutzutage kein Chaos leisten.
ODER:
Stelle dir eine Messtation für Wetterdaten am Nordpol vor. Die Wetterdaten werden von tausenden Clients abgefragt. Wenn du jetzt alle Clients die geänderten Datens chickst, macht deine Messtation die nächsten Stunden nichts anderes als Nachrichten versenden. In diesem Fall würde ich das System sogar als reines Polling-Verfahren realisieren.
in der realität ist es umgekehrt : es gibt einen zentralen "client" *meist der firmen server* der alle maschienen *server* überwacht ...
Das ist nicht meine Realität in der ich programmiere. Vielleicht leben wir ja in unterschiedlichen Welten? *grins* (Bitte als Scherz verstehe)
die einzelnen steuer-clients verbinden sich dabei nicht dierekt mit der sps sondern mit dem server der alles coordiniert ...
Das kommt auf die Implemtierung an. Es gibt unterschiedliche Arten von Sensornetzwerken.
Eine SPS kann in sehr verschiedener Weise realisiert sein, z. B. als Einzelgerät ("Baugruppe"), als PC-Einsteckkarte, als Softwareemulation, etc. Weit verbreitet sind modulare Lösungen, bei denen die SPS aus einzelnen Steckmodulen (ebenfalls als Baugruppen bezeichnet) zusammengesetzt wird.
Die neueste Generation von SPS sind aktive Sensor-Knoten, die über Funkverbindungen gekoppelt werden. Das würde hier aber den Rahmen sprengen.
außerdem wäre es zu viel traffic nur ein "hasChanged" zu senden und dann von jedem client anzufragen was sich geändert hat
Auch hier wieder eine Frage des Designs eines verteilten Systems.
Sicherlich gibt es Anwendungen, bei denen Broadcasting die richtige Wahl ist.
Was machts du denn bei einem System mit 20000 Clients, wenn sich da im Datenbestand was geändert hat? Allen die geänderten Daten übermitteln? Da ich große Netzwerksysteme programmiere denke ich vielleicht auch anders als in kleinen Firmenstrukturen.
*zu mal deine beschreibung den fehler hat : woher soll der client wissen WAS sich geändert hat damit er auch nur die geänderten daten abfragen kann ?* ...
Oh, vielen Dank für den Hinweis auf einen FEHLER!
Ich schließe daraus, dass du sowas noch nie programmiert hast.
Wenn dich das interessiert, dann empfehle dir folgende Grundlagen: RMI und CORBA und des Weiteren :
Sensor Media Access Control (S-MAC), Timeout Media Access Control (T-MAC), Dozer, SCP-MAC, LMAC, DMAC, TRAMA.
für das netzwerk wäre es hier schonender wenn die SPS als broadcast nicht "hasChanged" sendet sondern *natürlich mit ner ID* dierekt die veränderten werte ...
??? Woher stammt denn diese Weisheit.
Es gibt da keine Allgemeingültigkeit. Weder für noch gegen eine Broadcast-Lösung. Es ist immer eine Frage des zu implementierenden Systems. Aber ich möchte das hier beenden, da wir offensichtlich in total anderen Systemwelten unterwegs sind.