Синхронизация времени, Gor, 26-Июл-07, 23:21 [смотреть все] Я пытаюсь сейчас синхронизировать время между моим Ноутбуком и машинами с очень ограниченным набором "включённых служб" и доступных ресурсов, работающих на embedded Linuxе через локальную сеть.Решил сделать это с помощью сокетов в С с TCP/IP. Запрашиваю время с помощью: time_t stime; stime=htonl( (long)time( NULL )+2208988800UL );//персчитываю время на базис 1.1.1990 write( client, &stime, sizeof( stime )); Получаю с помощью: read(sd, &stime, sizeof( stime ));//для упрощения привожу код без проверок stime = ntohl( stime ) - 2208988800UL; printf( "%s", ctime( &stime ) ); Вопрос теперь в том, как мне записать это время в системное время на локальных машинах?!
|
- Синхронизация времени, anonymous, 05:15 , 27-Июл-07 (1)
- Синхронизация времени, Gor, 09:37 , 27-Июл-07 (2)
> >Не учитывается время, потраченное на отправку, передачу, доставку и обработку пакетов -- >а на не-realtime системах оно может быть значительным и достигать нескольких >секунд. Таким образом вы очень сильно снижаете точность передаваемого времени. Система с RTPreemt патчем, поэтому обработка будет занимать не сильно большое время,- думаю максимум - миллисекунды. Пересылка тоже сьест некоторое время, - но для меня самое главное сейчас не идеально установленное время, а синхронизированное,причём даже не с Ноутбуком, а между машинами; так как машины имеют абсолютно одинаковую систему и находятся на одинаковом удалении от Ноута я рассчитываю таким образом на разницу в несколько микросекунд между машинами, что на данном этапе подходит. >Советую почитать спецификацию протокола NTP и написать минимально возможную реализацию. Хотя >наверное проще будет взять готовый клиент NTP: на моей системе /usr/sbin/ntpdate >занимает всего 45 килобайт -- не очень это и много даже >для embedded-реализации. Какой адрес имеет Ваша система? Мне при этом полагаю потребуется также NTP-Сервер для ноутбука программить или скопировать где-то,- так как выхода в интернет из локальной сетки не предусмотрено? >man stime, но очень советую обратить внимание на NTP. Большое спасибо, сейчас посмотрю.
- Синхронизация времени, anonymous, 15:34 , 27-Июл-07 (3)
- Синхронизация времени, Gor, 23:48 , 27-Июл-07 (6)
>Если вы синхронизируете время между одинаковыми машинами, то ведь и отставать/спешить эти >машины будут одинаково. Поэтому я вижу мало смысла в такой >пиринговой синхронизации для получения точного времени. Хотя всё зависит от >задачи -- если главное чтобы на всех машинах было одинаковое время, >а какое -- да пусть хоть 90-й год, тогда да, вы >мыслите в правильном направлении. Именно такая задача и стоит сейчас,- точность соответствия времени нынешнему для меня не решаюшая. >В смысле? Это мой домашний компьютер-десктоп. Полноценная система, но как видите >-- NTP-клиент весит мало. Я Вас неправильно понял поначалу,- сори. Сейчас почитал доку по НТП и понимаю больше, спасибо большое за совет!
- Синхронизация времени, vic, 17:05 , 27-Июл-07 (4)
- Синхронизация времени, Gor, 23:39 , 27-Июл-07 (5)
>ээээ... > >32bit arch: sizeof(time_t) = 4 (bytes) >64bit arch: sizeof(time_t) = 8 (bytes) > >long может быть и 32 и 64 бита в зависимости от платформы.. > >http://www-128.ibm.com/developerworks/ru/library/l-port64/in... > >как уже и рекомендовали - используйте NTP. У меня машины с 32 битовыми процессорами. Я уже посмотрел НТП,- спасибо большое за совет, надо будет теперь доустановить НТП-клиент на машинах и настроить НТП-сервер на ноуте.
- Синхронизация времени, FarID, 11:30 , 07-Авг-07 (7)
|