-
Data: 2014-11-13 11:45:21
Temat: Re: Różny czas pomimo synchronizacji z NTP
Od: "Andrzej W." <a...@w...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu 2014-11-13 o 10:03, Atlantis pisze:
> Bo jej deklaracja wygląda następująco:
>
> const char ntpreqhdr[] PROGMEM ={0xe3,0,4,0xfa,0,1,0,0,0,1};
Naprawdę tak trudno zerknąć do RFC4330?
Informacja o czasie nadania pakietu jest potrzebna do korekcji czasu
przelotu pakietów UDP. Jeśli serwer NTP masz blisko a czas liczysz w
sekundach to nie jest potrzebna taka korekta (w Twoim kodzie jej nie
liczysz).
0xE3 - LI=3, VN=4, Mode=3
LI jest polem serwera, klient go nie ustawia, ale to nie ma wpływu.
VN - ok
Mode - ok
0 - Stratum = 0
4 - Poll = 4 - to ustawia tylko serwer
0xFA - Precision = 0xFA - to ustawia tylko serwer
Jakieś to dla mnie dziwne.
U mnie pakiet z zapytaniem wygląda tak (wartość, długość):
/* Client
-- 0
LI = 0, 2b
VN = 4, 3b
MODE = 3,3b
-- 1
Stratum = 0, 8b
-- 2
Poll = 0, 8b
-- 3
Precision = 0, 8b
-- 4-7
Root Delay = 0, 32b
-- 8-11
Root Dispersion = 0, 32b
-- 12-15
Reference Identifier = 0, 32b
-- 16-23
Reference Timestamp = 0, 64b
-- 24-31
Originate Timestamp = 0, 64b
-- 32-39
Receive Timestamp = 0, 64b
-- 40-43
Transmit Timestamp = Seconds, 32b
-- 44-47
Transmit Timestamp = Seconds Fraction, 32b
*/
W odpowiedzi od serwera w polu "Originate Timestamp" powinieneś mieć to
co wysłałeś w "Transmit Timestamp".
Można by też lekceważyć wszystkie odpowiedzi z LI=3.
A jak chcesz być poprawny to powinieneś też sprawdzać czy pole Stratum
nie jest równe zero i podejmować odpowiednią akcję.
--
AWa.
Następne wpisy z tego wątku
- 13.11.14 13:35 Atlantis
- 13.11.14 13:55 J.F.
- 13.11.14 14:00 Andrzej W.
- 13.11.14 18:17 Atlantis
- 13.11.14 22:16 Atlantis
Najnowsze wątki z tej grupy
- Brak bolca ochronnego ładowarki oznacza pożar
- AMS spalony szybkim zasilaczem USB
- stalowe bezpieczniki
- Wyświtlacz ramki cyfrowej
- bateria na żądanie
- pradnica krokowa
- Nieustający podziw...
- Coś dusi.
- akumulator napięcie 12.0v
- Podłączenie DMA 8257 do 8085
- pozew za naprawę sprzętu na youtube
- gasik
- Zbieranie danych przez www
- reverse engineering i dodawanie elementów do istniejących zamkniętych produktów- legalne?
- Problem z odczytem karty CF
Najnowsze wątki
- 2025-01-26 Trump-2 JUŻ bardzo łaskawy [1_500 ułaskawień skazanych za Bidena za "Kawkę na Kapitolu"]
- 2025-01-26 Brak bolca ochronnego ładowarki oznacza pożar
- 2025-01-24 Elektryfikacja w ODWROCIE
- 2025-01-25 AMS spalony szybkim zasilaczem USB
- 2025-01-24 stalowe bezpieczniki
- 2025-01-23 Zenek Kapelinder - ?
- 2025-01-25 Błonie => Sales Specialist <=
- 2025-01-25 Lublin => iOS Developer (Swift) <=
- 2025-01-24 Warszawa => Java Developer <=
- 2025-01-24 Białystok => iOS Developer (Swift experience) <=
- 2025-01-24 Warszawa => Programista Full Stack (.Net Core) <=
- 2025-01-24 Warszawa => System Architect (background deweloperski w Java) <=
- 2025-01-24 Lublin => Delphi Programmer <=
- 2025-01-24 Kraków => Key Account Manager <=
- 2025-01-24 Lublin => Programista Delphi <=