AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Zeitabfrage via SNTP ohne Indy ...
Thema durchsuchen
Ansicht
Themen-Optionen

Zeitabfrage via SNTP ohne Indy ...

Ein Thema von UliDambeck · begonnen am 26. Jul 2006 · letzter Beitrag vom 7. Sep 2006
Antwort Antwort
UliDambeck

Registriert seit: 1. Jun 2006
7 Beiträge
 
#1

Zeitabfrage via SNTP ohne Indy ...

  Alt 26. Jul 2006, 08:49
Hallo zusammen,

angeregt durch Michael Puffs InetTime, das das Time-Protokoll über Port 37 ohne irgendwelche Komponenten nutzt, wollte ich versuchen, das Ganze auch für das (S)NTP-Protokoll über Port 123 zu adaptieren.

So weit ich die RFC's verstanden habe, unterscheiden sich das Time- (RFC 868) und das NTP- (RFC 1305) und SNTP- (RFC 2030) Protokoll hinsichtlich der zurückgelieferten Daten "nur" darin, dass es sich einmal um einen 32-Bit-Wert und einmal um 'ne 64-Bit-Zahl handelt.

Also:
Delphi-Quellcode:
var
 sc : tSocket;
 sa : tSockAddr;

begin
  ZeroMemory (@sa, sizeof(sa));

  sc := socket (AF_INET, SOCK_STREAM, 0);
  sa.sin_addr.S_addr := integer(pointer(hostent^.h_addr_list^)^);
  sa.sin_family := AF_INET;
  sa.sin_port := htons(123);

  result := connect (sc, sa, sizeof (sa));
und genau da ist dann der Punkt erreicht, an dem die Sache schiefgeht:
Entweder "Connection refused" oder "Timed Out" ...

Ich habe keine Idee, woran das liegen könnte - aber vielleicht jemand von euch? Bin für jeden Tipp dankbar.

uli.
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.771 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Zeitabfrage via SNTP ohne Indy ...

  Alt 26. Jul 2006, 09:04
Hallo Uli,

kenne mich in der Socketprogrammierung nicht so aus,
aber kann es sein das Du versuchst eine TCP Verbindung
zum NTP Server aufzubauen?

Aber läuft NTP nicht über das UDP Protokoll?

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
UliDambeck

Registriert seit: 1. Jun 2006
7 Beiträge
 
#3

Re: Zeitabfrage via SNTP ohne Indy ...

  Alt 26. Jul 2006, 09:27
Hi Klaus,
danke für den Tipp - du hast natürlich Recht, (S)NTP läuft über das UDP-Protokoll.
Allerdings horcht (so wie ich's verstanden habe) ein Time-Server auf eine TCP/UDP -Verbindung auf Port 37.
Daraus hatte ich geschlossen, dass es mit den selben Verfahren möglich sein müsste, auch auf Port 123 zu connecten.

Anders gefragt: Wie muss ich die UDP-Verbindung denn aufbauen?
(Du merkst - so richtig fit bin ich in diesen Dingen auch nicht. Ehrlich gesagt, ist's das erste Mal, dass ich mich an Socket-Programmierung versuche ...)

Gruß,
uli.
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.771 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Zeitabfrage via SNTP ohne Indy ...

  Alt 26. Jul 2006, 09:54
Hallo Uli,

da ich mich damit auch nicht auskenne, kann ich Dir da nicht viel weiterhelfen.
Aber vielleicht findest Du in den Winsockets.pas aus der ICS Sammlung von FPiette
Beispiele wie man an so etwas herangeht ohne Indy oder FastNet Sockets zu nutzen.

Das ICS kannst Du hier laden: http://safariexamples.informit.com/0...s/FPiette/ICS/

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
UliDambeck

Registriert seit: 1. Jun 2006
7 Beiträge
 
#5

Re: Zeitabfrage via SNTP ohne Indy ...

  Alt 26. Jul 2006, 10:42
Hi Klaus,
vielen Dank für den Tipp, ich hab mir ics auch gleich mal runtergeladen - sieht wohl so aus, als müsste ich einige Stunden Quelltext-Studium investieren ...

Eigentlich hatte ich gehofft, dass einer der Cracks hier sofort sagen kann, was ich falsch mache und ich mich darauf konzentrieren kann, die Daten, die ich bekomme, weiterzuverarbeiten *g*

Falls also noch jemand einen Tipp hat: einfach her damit ...

Gruß,
uli.
  Mit Zitat antworten Zitat
jesus

Registriert seit: 20. Apr 2005
Ort: Berlin
41 Beiträge
 
Delphi 2005 Personal
 
#6

Re: Zeitabfrage via SNTP ohne Indy ...

  Alt 7. Sep 2006, 09:44
ich nehme jetzt die hier ... aber wenn Du herausbekommst wie es mit den ICS-Kompos geht, wär ich auch neugierig.

Grüße jesus
Aktuelles Projekt:
LeastCosterXP ( > LeastCostRouter zur Modem/ISDN-Einwahl)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:55 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz