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