NTP Zeit abfragen

Vom Front-End bis SOAP.

Moderator: Moderatoren

Antworten
STEPHAN
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 116
Registriert: Do, 29. Mai 2008 20:46
Hat sich bedankt: 1 Mal

NTP Zeit abfragen

Beitrag von STEPHAN »

Hi,

ich muss per NTP die Zeit eines Servers via Internet abfragen und in meinem Programm verarbeiten.

Es geht NICHT darum, die Zeit mit dem Rechner zu synchronisieren, sondern nur, die Zeit in einem String zu haben.

Ich nutze XB++, Asinet, XB2NET.

Hat jemand eine Idee ?

Danke

Stephan
Benutzeravatar
Lewi
1000 working lines a day
1000 working lines a day
Beiträge: 830
Registriert: Di, 07. Feb 2006 14:10
Wohnort: Hamburg
Danksagung erhalten: 2 Mal

Re: NTP Zeit abfragen

Beitrag von Lewi »

Hi!
Xb2Net verfügt nicht über das NTP-Protoll, bei Asinet weiß ich es nicht. Das NTP Protokoll ist aber Voraussetzung, um öffentliche Zeit-Server abzufragen.
Wenn Du bei einem großen Hoster wie z.B. Strato bist, bietet sich folgender Ansatz:

- Bei einem Dedicated Server läßt sich die Uhrzeit über Zeitserver sysnchronisieren.
- Auf virtuellem Server werden, soweit ich weiß, die die Server selbst automatisch mit den Zeitservern abgeglichen.

Unter diesem Hintergrund erzeugst Du mittels FTP-Befehlen eine (leere) Datei auf den Zielserver und liest dann die Uhrzeit der erzeugten Datei aus.

Gruß, Olaf
STEPHAN
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 116
Registriert: Do, 29. Mai 2008 20:46
Hat sich bedankt: 1 Mal

Re: NTP Zeit abfragen

Beitrag von STEPHAN »

Hi,

Danke für Deine Antwort. Leider habe ich keinen sonstigen Zugriff auf den Server, von dem ich die Zeit holen muss.

Ich habe auch kein Command line tool gefunden, dass einfach nur die Zeit abfragt, ohne sie gleich zu setzen.

Nur den Punkt mit dem Protokoll verstehe ich nicht:

Asinet und xb2net können auch keine E-Mail senden, trotzdem kann man mit ihren Funktionen eine E-Mail-Sende-Funktion leicht nachbauen.

Viele Grüße

Stephan
Benutzeravatar
Lewi
1000 working lines a day
1000 working lines a day
Beiträge: 830
Registriert: Di, 07. Feb 2006 14:10
Wohnort: Hamburg
Danksagung erhalten: 2 Mal

Re: NTP Zeit abfragen

Beitrag von Lewi »

Du sollst die Zeit von einem Zielserver holen, ohne dass Du Zugriff auf den Server hast? Wenn es sich um einen Internetserver handelt, dann würde ein FTP-Zugang für ein bestimmtest Verzeichnis doch völlig reichen. Wie gesagt, Du könntest die Zeit auch bei Deinem Hoster über den aufgezeigten Weg ermitteln. Die andere Frage ist, ob der von Dir erwähnte Zielserver überhaupt über das NTP-Protokoll erreichbar ist, so dass eine Zeitabfrage überhaupt möglich wäre.
STEPHAN
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 116
Registriert: Do, 29. Mai 2008 20:46
Hat sich bedankt: 1 Mal

Re: NTP Zeit abfragen

Beitrag von STEPHAN »

Ich bin Internet Pro. Es geht nicht um die Zeit irgendeines Servers meines Hosters. Die könnte ich ja auch per NTP Zeitabgleich bekommen.

Es geht um einen fremden Server der in Sudafrika sitzt und manchmal etwas aus dem Tackt ist. Trotzdem muss ich etwas zu einer bestimmten Zeit dieses Servers einliefern. Die Zeit kann ich oer NTP abfragen.
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: NTP Zeit abfragen

Beitrag von Tom »

NTP ist jedenfalls nicht trivial. Es handelt sich ja auch nicht um ein simples "Abfrageprotokoll" wie etwa SOAP, sondern um einen sicheren Algorithmus, der es trotz der Verbindungslatenzen erlaubt, Echtzeiten millisekundengenau zu synchronisieren.
Herzlich,
Tom
Benutzeravatar
Lewi
1000 working lines a day
1000 working lines a day
Beiträge: 830
Registriert: Di, 07. Feb 2006 14:10
Wohnort: Hamburg
Danksagung erhalten: 2 Mal

Re: NTP Zeit abfragen

Beitrag von Lewi »

Dann formuliere doch bitte Dein Problem das nächste Mal etwas genauer.
Die Zeit kann ich oer NTP abfragen
Wenn Du über NTP mit dem Zielserver kommunizieren kannst, wo liegt denn das Problem????

Nachtrag:
Es stellt mir dann auch die Frage. welche Zeit für die Ablieferung maßgebend ist: die Zeit des aus dem Takt gekommen Servers oder die tatsächliche UTC-Zeit am Standort? Und ..eine Zeitabfrage und eine Zeitsynchonisation wären dann 2 unterschiedliche Probleme.
STEPHAN
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 116
Registriert: Do, 29. Mai 2008 20:46
Hat sich bedankt: 1 Mal

Re: NTP Zeit abfragen

Beitrag von STEPHAN »

Ich habe keinen Weg gefunden, die Zeit des fremden Servers in mein Xbase Programm zu bekommen.

Es geht nur im die Zeit des Servers also mit den 1-2 Minuten Abweichung.
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: NTP Zeit abfragen

Beitrag von Martin Altmann »

Moin,
dafür gibt es das RFC 5905 (NTP Version 4) und das RFC 1305 (NTP Version 3) - einfach mal googeln ;-)
http://www.faqs.org/rfcs/rfc1305.html
http://www.faqs.org/rfcs/rfc5905.html
Wie Du ja weißt, sind alle "Internet-"Standards in sogenannten RFC (Request For Comment) fest definiert.

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: NTP Zeit abfragen

Beitrag von brandelh »

Wenn du die Möglichkeit hast, auf dem Server eine WEB-Seite mit PHP zu erzeugen, die die Uhrzeit anzeigt,
dann kannst du diese einfach mit LoadFromUrl() (Asinet oder Phils Funktion) abfragen und als String weiterverarbeiten.

Wenn nicht, musst du das NTP Protokoll mit den Socketfunktionen nachbauen.
Eventuell kannst du im Internet ja eine NTP Quelle finden, die die Ergebnisse anzeigt, statt zu syncronisieren.

Wie übermittelst du eigentlich die Daten ?
Gruß
Hubert
STEPHAN
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 116
Registriert: Do, 29. Mai 2008 20:46
Hat sich bedankt: 1 Mal

Re: NTP Zeit abfragen

Beitrag von STEPHAN »

Wie gesagt, ich habe leider keinen Zugriff auf den Server außer NTP.

Zusätzlich ist nur ein Port offen, über den ich senden kann, dort gibt’s aber keine Zeit.

Die erwarten, dass man sich über die normalen Zeitfunktionen synchronisiert, aber ich habe den Server schon auf ein anderes System synchronisiert.

Ich hatte gehofft, dass jemand da schon mal was gemacht hat, aber ich muss mich wohl mal durch das RFCs arbeiten.
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: NTP Zeit abfragen

Beitrag von brandelh »

Du kannst den NTP Zeitserver temporär wechseln und auf diesen "falschen" syncronisieren.
Wie es mit den Zeitzohnen aussieht bin ich mir nicht sicher ...
Dann erledigst du was immer du tun mußt und setzt den NTP Zeitserver zurück und syncronisierst wieder richtig.

In der Wissensbasis habe ich vor ewigen Zeiten ein solches Script (für einmalige Einrichtung eines NTP Servers) hinterlegt.

http://www.xbaseforum.de/viewtopic.php? ... Zeitserver

dazwischen müsstest du den Abgleich erzwingen
Gruß
Hubert
Antworten