Einzelnen Beitrag anzeigen

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