Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2011.09.25;
Скачать: [xml.tar.bz2];

Вниз

Совпадает ли время на компьютере с настоящим   Найти похожие ветки 

 
Сергей   (2011-06-06 10:35) [0]

Подскажите, можно ли проверить совпадает ли время с компьютерами со временем, допустим, на ntp серверах microsoft?
Есть ли встроенные процедуры допустим в indy или может кто-то заморачивался?

Заранее спасибо.


 
Dennis I. Komarov ©   (2011-06-06 10:40) [1]

Разумеется можно...
(но есть "но", погрешность все-равно будет)


 
Dennis I. Komarov ©   (2011-06-06 10:44) [2]

http://ru.wikipedia.org/wiki/NTP


 
AtomicTime   (2011-06-06 10:49) [3]

Посмотри здесь:
http://www.nashgorod.ru/forum/viewtopic.php?f=36&t=180519
и дальше по ссылкам внизу страницы


 
AtomicTime   (2011-06-06 10:55) [4]

или здесь:
http://coding.derkeiler.com/Archive/Delphi/borland.public.delphi.thirdpartytools.general/2005-02/0181.html


 
Ega23 ©   (2011-06-06 11:07) [5]


> Подскажите, можно ли проверить совпадает ли время с компьютерами
> со временем, допустим, на ntp серверах microsoft?


Не совпадает. Погрешность будет всегда.


 
Gu   (2011-06-06 11:17) [6]

на форму кладем tIdSNTP из закладки компонентов Indy Clients

procedure TForm1.Button1Click(Sender: TObject);
begin
Try
IdSNTP1.Host:="time.nist.gov";
IdSNTP1.ReceiveTimeout:=1000;
IdSNTP1.Connect;
//IdSNTP1.SyncTime; // разремить, если надо синхронизировать время ПК с сервером
form1.Caption:=datetimetostr(IdSNTP1.DateTime);
IdSNTP1.Disconnect;
Except
form1.Caption:="Сервер не отвечает";
End;
end;


 
Gu   (2011-06-06 11:19) [7]

да, и не забудьте на фаэрволе проге разрешить в инет лазить по 123 порту


 
Inovet ©   (2011-06-06 11:20) [8]

> [5] Ega23 ©   (06.06.11 11:07)
> Погрешность будет всегда.

Интересно вот, погрешность эта известа? Время доставки пакетов как-то наверно учитывается +- неккоторая известная погрешность.


 
Anatoly Podgoretsky ©   (2011-06-06 11:23) [9]

Чтобы знать погрешность надо иметь эталон, с которым можно сравнить.
А время доставки пакетов учитывается.


 
oldman ©   (2011-06-06 11:23) [10]


> с настоящим


а "настоящее" это какое?


 
Andy BitOff ©   (2011-06-06 11:31) [11]


> oldman ©   (06.06.11 11:23) [10]
> а "настоящее" это какое?

11:31


 
Gu   (2011-06-06 11:34) [12]

++
время на компе можно узнать так (там выше поменять в коде)

form1.Caption:="На сервере: "+datetimetostr(IdSNTP1.DateTime)+" на компе: "+datetimetostr(now);

после команды IdSNTP1.SyncTime; происходит синхронизация (по спец.алгоритму, кот.учитывает задержки передачи и соединений), если погрешность времени не очень большая. Если очень (например на год), то синхронизации не произойдет, и делать это надо ручками, примерно так:

if IdSNTP1.SyncTime=false then <принудительная установка системного времени (PcSetSystemTime:=IdSNTP1.DateTime) и повторная синхронизация>

(PcSetSystemTime)как установить системное время - пример: http://delphiworld.narod.ru/base/set_sys_date_time.html


 
Dennis I. Komarov ©   (2011-06-06 11:54) [13]

http://msdn.microsoft.com/en-us/library/cc249642(v=PROT.13).aspx


 
Inovet ©   (2011-06-06 11:58) [14]

> [11] Andy BitOff ©   (06.06.11 11:31)
> > а "настоящее" это какое?
>
> 11:31

У космонавтов быстрее часы идут.


 
Inovet ©   (2011-06-06 12:01) [15]

> [9] Anatoly Podgoretsky ©   (06.06.11 11:23)
> Чтобы знать погрешность надо иметь эталон, с которым можно сравнить.

Зачем эталон. Технологическая погрешность заранее известна. Если на линейке деления 1 мм, то нельзя ей мерять 0,5 мм. Так и с синхронизацией времени может быть. Вот я и спрашиваю о такой погрешности.


 
Anatoly Podgoretsky ©   (2011-06-06 12:19) [16]

Откуда погрешность то известна, может там часы бегут на несколько секунд. У меня время синхронизируется с несколькими серверам, погрешность превышает несколько секунд. Сервера точного (не эталонного времени) обеспечивают точность в долях микросекунд, есть вообще очень точные - например атомные часы.


 
Inovet ©   (2011-06-06 12:34) [17]

> [16] Anatoly Podgoretsky ©   (06.06.11 12:19)
> Откуда погрешность то известна, может там часы бегут на
> несколько секунд.

Считаем, что на сервере время достаточно точно отслеживается, иначе о чём говорить. Вот с этим сервером связываемся, получаем его время с достаточной точностю, теперь надо знать погрешность доставки, она там ис чего-то складывается (округления времени задержки в маршрутизаторах, длина линий связи наиболее влияют), пока пакет идёт.


 
Anatoly Podgoretsky ©   (2011-06-06 12:53) [18]

> Inovet  (06.06.2011 12:34:17)  [17]

Так считать не стоит, а стоит считать что на разных серверах оно разное,
кроме атомных часов.
Погрешность доставки равна 1/2 от момента отсылки до момента получения, при
предпосылке, что скорость в обеих направлениях одинакова.


 
Сергей   (2011-06-06 14:24) [19]

Всем спасибо, очень помогло. Насчет погрешности - шут с ней, буду учитывать что будет погрешность, например, до минуты. Мне главное чтобы дни и часы совпадали (конечно нужно учитывать конец и начало часа).


 
Jeer ©   (2011-06-06 14:30) [20]

В зависимости от географии ntp-сервера и его статуса ( stratum x ), задержка может достигать сотен миллисекунд и даже секунд.
По версии 4 протокола ntp погрешность сихронизации через Интернет может быть не хуже 10 мс, а в локальной сети - 0.2 мс

Разобраться с "хорошими" серверами из десятков такими прикидывающимися бывает не просто.

Есть простой способ превратить собственный сервер в ntp-сервер для своей сети.
Навесить на сервер GPS-железку (навигатор или треккер), которая отдает данные в комп по NMEA-протоколу


 
Ega23 ©   (2011-06-06 14:43) [21]

ИМХО, службу синхронизации самому писать не след. Есть ntp, этого достаточно. Установи синхронизацию по нему и всё, не надо велосипеды изобретать.

З.Ы. Как же мы "назанимались любовью" с этим ntp в своё время... Когда нужно было кучу контроллеров под QNX по времени с Windows-сервером синхронизировать. А погрешность должна была быть менее секунды.


 
sniknik ©   (2011-06-06 14:48) [22]

> есть вообще очень точные - например атомные часы.
самые точные это те которые стоят! они дважды в сутки показывают абсолютно точное время... а те которые идут, обязательно или отстают или бегут, хоть на чуть но всегда...
© капитан Врунгель.


 
Inovet ©   (2011-06-06 15:02) [23]

> [22] sniknik ©   (06.06.11 14:48)
> а те которые идут, обязательно или отстают или бегут, хоть
> на чуть но всегда...

Тоже показывают но не 2 раза в сутки.


 
Inovet ©   (2011-06-06 15:06) [24]

> [20] Jeer ©   (06.06.11 14:30)
> через Интернет может быть не хуже 10 мс, а в локальной сети - 0.2 мс

Вот. Есть значит стандарт.

> [20] Jeer ©   (06.06.11 14:30)
> Разобраться с "хорошими" серверами из десятков такими прикидывающимися
> бывает не просто.

А которые в Виндоус предлагаются, интересно, хорошие? Вот по умолчанию этот хотя бы: time.windows.com.


 
Jeer ©   (2011-06-06 15:15) [25]

Тут доходчиво
http://www.opennet.ru/base/sys/ntp_conf.txt.html

Сервера
http://support.ntp.org/bin/view/Servers/StratumOneTimeServers


 
Ega23 ©   (2011-06-06 15:23) [26]


> А которые в Виндоус предлагаются, интересно, хорошие? Вот
> по умолчанию этот хотя бы: time.windows.com.


Да там нюансов - вагон и тележка. UTC тот же взять, переводы с зимнего на летнее (это ещё ничего, час вперёд) и с летнего на зимнее (а вот это уже попа, на час назад), и т.п.


 
OW ©   (2011-06-06 15:23) [27]

а зачем.. примерно такое и ладно.
главное, чтоб своей сети была синхронизация
а тут есть служба соответствующая
или по мотивам http://support.microsoft.com/kb/314054/ru настраиваем однорангово/без-инетное что-то

о часах интересно..
все(видимые мной) часы показывают время циклически. А есть ли часы, показывающие время.. ну, как число, допустим? :)
т.е.
40700,6399313773 тик
40700,6399429514 тик
40700,6399545255 тик
никому не надо, конечно, но было б оригинально и забавно.
Купил бы кто-то, имхо..


 
Ega23 ©   (2011-06-06 15:24) [28]


> главное, чтоб своей сети была синхронизация

+ 100500


 
sniknik ©   (2011-06-06 15:26) [29]

> Тоже показывают но не 2 раза в сутки.
один раз в месяц например... если убегающие поставить "до", на обгон, в момент обгона будет точно а дальше пойдет всегда...
т.что стоящие точнее.

еще точнее будут "маятники", не в смысле гирями, а отстающе/бегущие т.е. такие типа туда, сюда на какой то промежуток, тогда если точное время будет в середине то могут показывать чаще... но таких не бывает.


 
OW ©   (2011-06-06 15:38) [30]


> sniknik ©   (06.06.11 15:26) [29]

не бывает..
но легко делаются путем выдирания секундной стрелки и переводом на минуту вперед

таким образом, пока осколок секундной стрелки крутится, время показывается на минуту позже. Тут настоящее его догоняет, и перегоняет.  Затем наше скачет на минуту вперед и ждет, пока его опять догонят и перегонят.
вооть :)


 
Inovet ©   (2011-06-06 15:47) [31]

> [25] Jeer ©   (06.06.11 15:15)

Ага, посмотрел.

> [26] Ega23 ©   (06.06.11 15:23)
> UTC тот же взять, переводы с зимнего на летнее (это ещё
> ничего, час вперёд) и с летнего на зимнее (а вот это уже
> попа, на час назад), и т.п.

Это в регистраторах всяких вроде видеонаблюдения? Наверно хранить надо в UTS а показывать уже от настроек времени? А что тут ещё выдумаешь.


 
Ega23 ©   (2011-06-06 17:21) [32]


> Это в регистраторах всяких вроде видеонаблюдения?


В точку. Есть сработка на периметре, есть видеопоток. Надо сохранить видеозапись с нескольких камер, ассоциированных с данным участком, причём не просто с момента тревоги, а до и после. И сохранить это дело.


> Наверно хранить надо в UTS а показывать уже от настроек времени?


Угу, вот только когда саму систему проектировали и ни о каком видео ещё речи не шло этот нюанс не продумали. В результате получили "половые сношения", когда переделывали.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2011.09.25;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.53 MB
Время: 0.004 c
1-1267095254
EgorovAlex
2010-02-25 13:54
2011.09.25
Редирект сообщения MouseWheel


10-1175769168
zhurik
2007-04-05 14:32
2011.09.25
Прочитать из Excel данные


2-1307121220
Gu
2011-06-03 21:13
2011.09.25
Png модули


15-1307175573
Юрий Зотов
2011-06-04 12:19
2011.09.25
Очередной способ мошенничества?


15-1306822456
Evgeniy_gd
2011-05-31 10:14
2011.09.25
Покритикуйте инструкцию по использованию флешек USB.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский