Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Сетевые технологии > NTP!!!


Автор: Faramir 8.8.2005, 14:13
Добрый день глубокоуважаемые программисты!!

Такие вопросы,если кто сталкивался с их реализацией:

Допустим, у меня есть NTP - сервер, я посылаю запрос---->>> мне приходит
ответ в размерности 48-ми байт. Последние 16 байт выглядят следующим образом:

198
161
181
183
15
142
94


198
161
181
183
15
143
222

я так понимаю 1-е восемь байт это когда запрос прибыл на сервер, 2-е 8 байт - когда отправлен ответ клиенту. Так вот, необходимо точно расшифровать каждый из этих байт.
Мои предположения следующие:

198 - дней
161 - час
181 - мин
183 - сек
15 - мсек
142 - мксек
94 - нсек

если это так, то как можно определить текущее время, год, день, месяц..
Возможно ли это?
От какой временной точки производится данный отсчёт?

Автор: Akina 8.8.2005, 14:33
http://www.faqs.org/rfcs/rfc958.html

Автор: Faramir 8.8.2005, 14:39
Всё это я уже читал...Хочется услышать корректный ответ от человека, который реализовывал данный протокол или синхронизацию. smile

Автор: Akina 8.8.2005, 14:43
Так чего тебе - мало? См. Appendix B - там все 48 байт (а не только последние 16) расписаны...

Автор: Faramir 8.8.2005, 14:52

Receive Timestamp (64 bits)

Transmit Timestamp (64 bits)

Смотрел я Appendix B.

Ладно,поставлю по другому вопрос. У меня есть количество секунд с начала 1 января 1900 года. Как это количество можно перевести в формат реального времени? Т.е. получить Год,Месяц,День,Час,Мин,Сек. Существует ли функция, позволяющая делать это?

Автор: bilbobagginz 3.9.2005, 01:05
на твои вопросы отвечу так:
Цитата

Как это количество можно перевести в формат реального времени? Т.е. получить Год,Месяц,День,Час,Мин,Сек.

1. перевести можно, но только с помощью информации о реальном времени. без нея - никак...
Цитата

Существует ли функция, позволяющая делать это?

2. да. существует однозначно.

smile
если есть ещё вопросы, пиши....

Автор: Akina 3.9.2005, 20:41
Цитата(Faramir @ 8.8.2005, 15:52)
У меня есть количество секунд с начала 1 января 1900 года. Как это количество можно перевести в формат реального времени? Т.е. получить Год,Месяц,День,Час,Мин,Сек. Существует ли функция, позволяющая делать это?

А с 01.01.1970 не устоит? UNIX timestamp прозывается... им еще 32 года можно пользоваться...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)