std.net.ntp

NTP (Network Time Protocol, RFC 5905) synchronisiert die Uhrzeit von Systemen mit einem Zeitserver. Die Unit baut NTP-Anfragepakete auf (Version 3, Client-Modus, UDP Port 123) und parst die Antwort des Servers inklusive Stratum-Angabe, Referenzzeitquelle und Zeitstempel im NTP-Epoch-Format (Sekunden seit 1900).

Einsatzbereiche sind zeitkritische Anwendungen, präzises Log-Timestamping, verteilte Systeme mit Uhrzeitsynchronisation und Anwendungen, die ohne libc-Systemzeit-APIs eine verlässliche UTC-Zeit benötigen.


Imports

  • std.net.socket
  • std.net.dns
  • std.net.types

Konstanten

Name Typ Wert Sichtbarkeit
NTP_PORT int64 123 pub
NTP_VERSION int64 4 pub
NTP_MODE_CLIENT int64 3 pub
NTP_MODE_SERVER int64 4 pub
NTP_EPOCH_OFFSET int64 2208988800 pub
NTP_PACKET_SIZE int64 48 pub
NTP_STRATUM_KOD int64 0 pub
NTP_STRATUM_PRIMARY int64 1 pub
NTP_STRATUM_SECONDARY int64 2 pub

Typen

NTPTime (struct)

Feld Typ

Funktionen

Signatur Sichtbarkeit Beschreibung
NTPBuildRequest(): int64 pub NTP-Anfrage-Paket (48 Byte) aufbauen
NTPReadU32BE(buf: int64, offset: int64): int64 pub 32-Bit-Big-Endian-Wert aus Puffer lesen
NTPReadTimestamp(buf: int64, offset: int64): int64 pub NTP-Zeitstempel in Unix-Zeit umrechnen
NTPParseResponse(buf: int64, T1: int64, T2: int64): NTPTime pub NTP-Serverantwort parsen und auswerten
NTPGetTime(host: int64): NTPTime pub Aktuelle Zeit per Hostname abfragen
NTPGetTimeFromIP(ip: int64): NTPTime pub Aktuelle Zeit per IP-Adresse abfragen
NTPFormatTime(unixTime: int64): int64 pub Unix-Zeit als Datumsstring formatieren