Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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


Страницы:   1 2

Сергей ©   (2011-06-06 10:35:00) 

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

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


Gu   (2011-06-06 11:34:00) [21]

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

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


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


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

11:31


oldman   (2011-06-06 11:23:00) [23]


> с настоящим


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


Anatoly Podgoretsky   (2011-06-06 11:23:00) [24]

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


Inovet   (2011-06-06 11:20:00) [25]

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

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


Gu   (2011-06-06 11:19:00) [26]

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


Gu   (2011-06-06 11:17:00) [27]

на форму кладем 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;


Ega23   (2011-06-06 11:07:00) [28]


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


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


AtomicTime   (2011-06-06 10:55:00) [29]

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


AtomicTime   (2011-06-06 10:49:00) [30]

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


Dennis I. Komarov   (2011-06-06 10:44:00) [31]

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


Dennis I. Komarov   (2011-06-06 10:40:00) [32]

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


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо