====== 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 |