' schrieb:Also erstmal Danke für eure Antworten und Tipps!
Das Auswerten der Adresse wäre ja so nicht falsch, jedoch für meine Anwendung eher ineffektiv, da ich die Daten der beiden PCs dauerhaft miteinander Vergleichen muss, und daher die verschiedenen Daten im selben Zyklus benötige!
Deshalb erscheint für mich diese Lösung zwar richtig, aber eher ungeeignet, da dies die Auswertung der Daten zeitlich verlängern würde!
Gibt es über UDP keine Möglichkeit in einem Zyklus von 2 verschiedenen Sendern zu empfangen? Bitte helft mir weiter!
mfg
Ob Du da jetzt zwei Server machst oder nur einen, da die Clients ja wohl nicht synchronisiert sind ist das Parallelisieren der zwei Empfängerloops zum Zwecke der Synchronisation recht sinnlos. Das hilft dafür absolut nicht. Mit einem Shiftregister und etwas logischer Programmierung kannst Du die zwei zeitlich am nächsten beineinanderliegenden Werten genau so gut vergleichen wie wenn Du die von zwei parellelen Empfängern hereinskommst. Verzögerung findet maximal für die Länge des Read-timeouts statt, kannst Du Dir also selber bestimmen.
So eine Applikation schreit ganz einfach nach einem Producer-Consumer Modell. Man hat den Producer (UDP Reader) der die Daten auf Basis der Senderaddresse in einen Buffer oder eine Queue schreibt und den Consumer der diese Daten regelmässig daraus liest und vergleicht und was immer anderes Du machen willst. Man kann auch noch eine Sicherung einbauen, dass der Consumer auf Basis eines Timestamps des letzten geposteten Wertes eines Kanals überprüft ob schon wieder ein neuer Wert reingekommen ist, und im Falle dass dem nicht so ist eine Warnung oder einen Fehler erzeugt.
Aber die Addresse am UDP Open sollte echt weg wenn Du nicht mehrere Netzwerkkarten hast, und wenn Du das schon hast solltest Du die Addresse des Netzwerkinterfaces angeben dass Du für die Kommunikation verwenden willst nicht die des Clients.