*closed*

Splash Damage

Semiprofi
Thread Starter
Mitglied seit
03.09.2003
Beiträge
5.054
Ort
real life
Hallo,
habe folgende Aufgabe:

Die Datenausgabe eines digitalen Messgerätes (LockIn Amplifier) erfolgt derzeit im Netzwerk via TCP (verbindungsorientiertes Protokoll, Wartet immer auf Antwort des Empfängers ob das Paket angekommen ist). Die Übertagungszeit beträgt 5ms. Ziel ist es, die Übertragung auf UDP (verbindungslos) umzustellen. Dort beträgt die Übertragungszeit etwa 1ms.

Das die Programmierung des Datenaustausches erfolgt in Delphi.

Jetzt ist es erstmal sinn der Sache über jeweils TCP und UDP eine große Zahl von Datenpaketen (10.000) zu versenden und die Zeit zu messen, die jeweils gebraucht wird. Das ganze geschieht in einer Schleife.

Jetzt meine Frage:

Kann mir jemand Ratschläge geben, wie ich die Zeit im Delphi messen kann, die jeweils für die Übertragung der Pakete benötigt wird?

Muss dazu sagen, dass ich bisher nur wenig Programmiererfahungen habe (1 Semester a 2 Wochenstunden) und das auch noch in C++.

Danke schonmal! :)
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
was spricht dagegen von dem ersten rechner beim senden einen timer1 aufzuziehen, die daten zu senden und dann beim empfänger die verarbeitungszeit zu messen und wieder daten rauszuschicken. Sobald die Daten wieder beim ersten Rechner ankommen stoppste den timer1.
Dann Taschenrechner raus und die Verarbeitungszeit vom Empfänger abziehen

sender, timer1 = 0 >>>>>>>>>>> empfänger, timer2 = 0

send, timer1 = 2 * laufzeit + verarbeitung im empfänger <<<<<<<<<< empfänger, timer2 = verarbeitungszeit

Wie du unter Delphi Zeitdifferenzen ausgibst findest du hier:
http://forum.chip.de/java-delphi-pascal/zeit-messen-402284.html

Sei dir aber bitte bewusst dass UDP keinerlei Fehlersicherung mit sich bringt - es kann also durchaus passieren dass du Pakete verlierst ohne dass du es überhaupt merkst. Vor allem wenn du viel Daten überträgst die auch noch wichtig sind, würde ich persönlich doch auf eine gesicherte Verbindung setzen.
Vielleicht kannst du ja auch die Größe des Nutzdatenrahmens bei TCP besser ausnutzen in dem du immer mehrere Werte zusammenfasst und die dann gesammelt rausschickst. Da könntest du dann mit deinen 5ms Antwortzeit doch relativ gut leben.
 
Zuletzt bearbeitet:
Hallo,
vielen Dank für den Ansatz. Werd das mal Probieren!

Zum UDP: Es handelt sich im Endeffekt um ein Oszi. Da ist es egal, ob mal ein paar pakete fehlen!
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh