Announcement

Collapse
No announcement yet.

Datum eines Servers abfragen (net.exe)

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Datum eines Servers abfragen (net.exe)

    Hi

    ICh kann ja mit

    net.exe TIME \\Server

    die aktuelle Zeit des entspr. Server anzeigen. Die Ausgabe ist dann so:

    Aktuelle Zeit auf \\SERVER_XYZ ist 10/19/2007 12:27 PM.

    In einem Dos Fenster funktioniert das prima. Ich möchte dies aber in einem C++ 6 Programm abfragen.

    1. Gibt es da irgendetwas standardmäßiges was ich dafür benutzen kann, oder wie würdet ihr das machen?

    2. Wie kann ich das Format des Datums ändern? So dass ich auch die Sekunden angezeigt bekomme.

    Vielen Dank

    MC

  • #2
    Ok, ich habe die Komponenten IdNTP und IdSNTP gefunden. Hätte ich auch gleich drauf kommen können. ICh bekomme aber keine Zeit heraus.

    IdTime->Host = edServer->Text;
    IdTime->Port = 37;
    btTime->Caption = "Servertime ("+FormatDateTime("hh:nn:ss",
    IdTime->DateTime);

    IdSNTP->Host = edServer->Text;
    IdSNTP->Port = 123;
    IdSNTP->Active = true;
    btTime->Caption = "Servertime ("+FormatDateTime("hh:nn:ss", IdSNTP->DateTime);
    IdSNTP->Active = false;

    Auf diese beiden Arten habe ich es versucht. Wenn ich jeweils einen falschen Port nehme bekomme ich eine Fehlermeldung. Wenn ich die obigen Ports benutze bekomme ich nichts. Das Programm steht aber es tut sich nichts. Ich habe auch schon mal ein paar Minuten gewartet, da tut sich nichts. Ich muß das Programm beenden. Mit der DOS Abfrage aus dem ersten Posting bekomme ich sofort die Zeit des Servers angezeigt.

    Was mache ich da falsch?

    Comment


    • #3
      Das jedenfalls

      bool test=false;
      IdTime1->Host=NAME_DES_ZEITSERVERS;
      try {
      test=IdTime1->SyncTime();
      }catch(...) {
      ShowMessage("Syncronisation nicht erfolgreich!");
      }
      if(test) ShowMessage("Syncronisation erfolgreich!");


      funktioniert....
      Auf den Servern läuft auch auf den Ports etwas??

      Debugge dein Programm der der Stelle durch und schau was für Werte in der Zeitklasse sind
      Christian

      Comment


      • #4
        Hi

        Da stellt sich für mich ja die Frage ob das was ich mit net.exe TIME abfrage vielleicht gar nicht auf SNTP bzw. NTP zurückzuführen ist? Ich möchte auf jeden Fall nicht die Zeit mit diesem Server synchronisieren. ICh möchte nur die Zeit die auf dem Server aktuell ist anzeigen.

        Wie bekomme ich den heraus ob dort ein Dienst läuft. Per Telnet bekomme ich dort keine Antwort. Heißt das, dass da nichts läuft?

        Vielen Dank

        Comment


        • #5
          Wie bekomme ich den heraus ob dort ein Dienst läuft.
          Den Admin fragen

          Per Telnet bekomme ich dort keine Antwort.
          Telnet ist ein anderer Dienst


          Welchen Server benutzt du überhaupt?? Teste das mit einen öffentlichen Server wie

          ptbtime1.ptb.de

          time.join.uni-muenster.de
          Christian

          Comment


          • #6
            Hi

            Also es haben sich auch noch ein paar andere Punkte herausgestellt für die ich DOS Programme nutzen und die Ergebnisse auslesen muß. Das bedeutet, dass ich einfach soetwas wie das hier ausführen möchte "net.exe TIME \\SERVER >> c:\time.txt" nur so, dass ich das Ergebnis nicht in ein File schreibe sondern irgendwie in ein Stream oder soetwas ausgebe. Wie mache ich das? Habe irgendwo etwas aufgeschnappt von "umleiten der Standardausgabe" oder so ähnlich.

            Vielen Dank

            Jens

            Comment


            • #7
              Naja, wozu einfach, wenn es auch umständlich geht ;-)

              http://www.marquardtnet.info/cecke/q...quicky_25.html

              Da du dann die Ausgaben in der time.txt hast kannst du diese dann mit einer TStringList ganz einfach einlesen....
              Christian

              Comment

              Working...
              X