Zeit vergleichen

july

Erfahrenes Mitglied
Hallo zusammen,

ich habe einen Server, der die Nachrichten mit einem Zeitstampel verschickt. Mit Hilfe von DateTime.UtcNow wird der Zeitstempel gesetzt. Ich habe gelesen, dass es bis auf milisekunden genau ist.
Beim Empfangen der Nachrichten, möchte ich wissen, wie lange hat's für die Kommunikation gebraucht und das milisekundengenau. Hat jemand eine Idee wie man das am besten lösen kann? Vielen Dank im Voraus.

Grüße July

PS. Ach ja, ich habe beim Empfänger Compact Framework.
 

sheel

I love Asm
Hi

wenn du auf verschiedenen Rechnern mit der Uhr abgleichst,
wirds (vor allem im ms-Bereich) zu großen Problemen kommen,
weil nicht alle gleich eingestellt sein müssen.
Paar Minuten kanns schon daneben gehen...sind jeweils 60000ms.

Theorie:
Sende etwas, das der Empfänger sofort wieder retourniert.
Wenns wieder beim Sender ankommt
(der seit dem Senden ziemlich sicher keine Uhrverstellung bekommen hat)
kann der dann ermitteln, wie lang es hin und zurück gebraucht hat.
Durch 2 dividieren sollte die wahrscheinliche Dauer für eine Richtung ergeben
(wahrscheinlich deswegen, weils hin/zurück unterschiedliche Wege durchs Netz nehmen kann)

Praxis:
Bevor du das socketmäßig programmierst: Ping gibts genau für das.


Wenn der Sender die Zeit dann hat schickt er sie als Zahl, geschwindigkeitsunabhängig,
zum Empfänger, der die Zeit ja braucht.
Oder der Ping geht vom Empfänger aus, dann muss man das Ergebnis nicht noch übertragen.

Gruß