Hi, ich hab' mal wieder eine Frage:
Im Netzwerk habe ich ein Gerät, dieses Gerät sendet Messwerte an einen PC im Netzwerk per UDP. Ein AutoItscript empfängt die Daten und wertet sie aus und zeigt sie live an:
; ...
Do
$data = UDPRecv($socket, 50)
If $data <> "" Then
; Auswertung und Anzeige
EndIf
Until GUIGetMsg() = -3
Das Problem bei der Sache ist: Das Script funktioniert nur gescheit, wenn die Frequenz, mit der das Messgerät sendet, 10 Hz nicht übersteigt (die Frequenz ist einstellbar). Sobald ich die Sendefrequenz erhöhe, kommt es zu einem Datenstau. Das heißt: Das Messgerät sendet mit einer Frequenz von sagen wir mal 40 Hz, das Empfängerscript kann jedoch nur alle 10 ms einen eingetrudelten Messwert empfangen. Blöderweise gibt UDPRecv nicht den Wert zurück, der zuletzt am PC eingetroffen ist, sondern immer den ältesten Wert, der noch nicht mit UDPRecv abgefragt wurde. Die Live-Dastellung kann man dann natürlich verhacken. Abhängig von der Sendefrequenz und von der Zeit, die das Script bereits läuft, kann es zu Verzögerungen von mehreren Sekunden kommen.
Kann ich die gespeicherten alten Daten nicht irgendwie ins Nirwana schicken um einen solchen Datenstau irgendwie zu umgehen?
Danke im Voraus