Atomzeit
Sebastian
- perl
Ich müste mal wissen, wie ich mir die Atomzeit der Braunschweiger Atomuhr besorgen kann und diese dann in einem Array oder in einer Variable Speichern kann.
Brauche die für die Zeitberechnung...
Danke für alle die mir mit Rat und Tat bei Seite stehen können.
PS: Bräuchte den ganzen Quellcode davon dann.
hi,
Ich müste mal wissen, wie ich mir die Atomzeit der Braunschweiger Atomuhr besorgen kann und diese dann in einem Array oder in einer Variable Speichern kann.
sub get_time{
my $hostname = shift;
use IO::Socket;
my $client_sock = new IO::Socket::INET (
PeerAddr => $hostname,
PeerPort => 13,
Proto => 'tcp')|| return 0;
my $server_time = <$client_sock>;
$client_sock->close();
return "$server_time";
}
Erwin
Worin wird das denn dann gespeichert???
Muss ich das dann noch definieren oder was???
geht das auch wenn der Skript auf fremden Srvern liegt, also ich die localtime nicht verändern darf???
Gruß Sebastian
Hallo,
Worin wird das denn dann gespeichert???
Im Beispiel von Erwin wohl in der Variable $server_time als String.
Muss ich das dann noch definieren oder was???
Mh?
geht das auch wenn der Skript auf fremden Srvern liegt, also ich die localtime nicht verändern darf???
Mh?
Probier mal folgendes in der Konsole:
telnet NTP.HEH.Uni-Oldenburg.DE 13
bzw.
telnet NTP.HEH.Uni-Oldenburg.DE 37
Gruß
Slyh
Probier mal folgendes in der Konsole:
telnet NTP.HEH.Uni-Oldenburg.DE 13
bzw.
telnet NTP.HEH.Uni-Oldenburg.DE 37
Ich hab nur leider keine Konsole, sondern nur nen FTP zugang.
Gruß Sebastian
Hallo,
Ich hab nur leider keine Konsole, sondern nur nen FTP zugang.
Aber der Rechner, an dem du sitzt, der hat doch schon eine Konsole, oder?
(Hint: In Windows heißt das Ding "Eingabeaufforderung".)
Ich wollte dir damit auch nur zeigen, was der Server an dich zurück-
schickt, wenn du dich mit ihm auf Port 13 bzw. 37 verbindest. Dann
verstehst du das Programm von Erwin vielleicht besser.
Per Programm kannst dich auch mit dem Server verbinden. Genau das
macht Erwin's Code-Schnipsel. Es speichert dann die Rückgabe, die
du bei telnet auf der Konsole siehst, einfach in die Variable $server_time.
Davon ausgehend kannst du dir dann die Zeit zusammenbasteln (bzw. die
einzelnen Zeit-Eigenschaften -- z.B. Minute, Sekunde, ... -- in ein
Array schreiben.
Gruß
Slyh
Hallo,
der so zurückgelieferte ASCII-String ist aber laut RFC 867
(http://www.faqs.org/rfcs/rfc867.html) nicht standardisiert.
Es kann also durchaus vom Server abhängen, in welchem Format die Zeit
geliefert wird.
Port 37 ist da vielleicht die bessere Alternative:
http://www.faqs.org/rfcs/rfc868.html
Das sind dann die Sekunden seit dem 1.1.1900 GMT. Daraus kann man sich
dann die passende Zeit basteln. Die meisten Programmiersprachen bieten
ja eine Funktion, die (Milli-)Sekunden seit dem 1.1.1900 erwartet und
daraus eine passende Rückgabe bastelt.
(Außerdem ist diese Methode natürlich etwas unpräzise, weil die
Übertragungszeit vom Server zum Client noch dazu kommt. Aber da die
Zeit ohnehin nur sekundengenau ist, dürfte das für die allermeisten
Fälle irrelevant sein. Ansonsten halt doch NTP verwenden. :-))
Gruß
Slyh
Ich brauche doch nur nen Skript der mir Die Tage Sekunden Minuten und das datum hintereinander in Einem Arry speichert und die ich danach benutzen kann. Sollte von der braunschweiger Atomuhr kommen.
Gruß
Sebastian
Hallo,
Ich brauche doch nur nen Skript der mir Die Tage Sekunden Minuten und das datum hintereinander in Einem Arry speichert und die ich danach benutzen kann. Sollte von der braunschweiger Atomuhr kommen.
Wieso schreibst du das nicht selber? Die relevanten Code-Schnipsel hast
du von Erwin doch schon gekriegt. Dieses Forum hier heißt SelfHTML, mit
Betonung auf "Self". Wenn du lieber "Get" haben willst, dann nimm
Google. Es sollte solche Skripte/Code-Schnipsel durchaus frei im Netz
geben...
Wenn du Erwin's Code nicht verstehst, dann frag konkret nach. Man kann
ihn dir durchaus erklären.
(Die NTP-Server sollten synchron mit der Atomuhr laufen. Hoffe ich.
In meinem Beispiel war das der NTP-Server der Uni Oldenburg.
NTP = Network Time Protocol)
Gruß
Slyh
Ich also der Quellcode von Erwin funzt dann beser mit dem Port ...
Dann versuch ich das mal
Danke